{
  "schema": "canli.company-reference.v1",
  "cik": "0001436208",
  "name": "Legacy Housing Corporation",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001436208.json",
  "source_sha256": "34d10d121335383d487d9981e760dc078d3fa7edca60296b589f5b118d5c5e8a",
  "fetched_at": "2026-09-20T09:03:09.357Z",
  "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": 580337000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 534194000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 506742000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 436813000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 366667000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 338616000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 283620000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 235038000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 51723000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 40238000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 70007000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 54709000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 57273000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 79423000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 61231000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 45758000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 528614000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 493956000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 436735000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 382104000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 309394000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 259193000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 222389000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 189280000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2018Q4I",
          "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": 8478000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1149000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 748000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2818000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1042000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 768000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1724000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 2599000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 41809000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 61642000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 54460000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 67773000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 49871000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 37995000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 28844000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 21513000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 37152000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 35993000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -13536000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -1691000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 60296000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -1838000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -4193000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2820000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsToAcquirePropertyPlantAndEquipment",
      "taxonomy": "us-gaap",
      "label": "Capital expenditure payments",
      "kind": "duration",
      "meaning": "Cash payments to acquire property, plant and equipment. This taxonomy concept does not capture every form of investment or acquisition.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 9001000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 9212000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 7713000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3800000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 5952000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 2845000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 4206000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 6137000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Revenues",
      "taxonomy": "us-gaap",
      "label": "Revenue",
      "kind": "duration",
      "meaning": "Revenue under this specific accounting concept. A missing value is not zero; filers can use other revenue concepts.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 164567000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 184191000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 189144000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 257015000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 197507000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 176724000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 168956000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 161877000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 116932000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 129345000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 145100000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 222052000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 165995000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 147502000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 143196000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 139165000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInFinancingActivities",
      "taxonomy": "us-gaap",
      "label": "Financing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from financing activities, including borrowing, repayments and transactions with owners. A positive amount does not establish operating profitability.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -7745000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -28878000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 21235000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -5614000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -28080000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 3600000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 18431000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 3804000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": -22078000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -6714000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -9769000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 9081000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -31942000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -2718000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -15113000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -4453000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 363209000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 321400000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 259758000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 205996000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 138223000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 88352000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 50357000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 21513000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 23979349,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 24217631,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 24385190,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 24357785,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 24204437,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 24226128,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 24379667,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 20197260,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 23983093,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 24853778,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 25070626,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 24742419,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 24275989,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 24236395,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 24436954,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 20197260,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareBasic",
      "taxonomy": "us-gaap",
      "label": "Basic earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per basic common share or unit. Inspect attribution, share classes and restatements before comparing periods. This is not a market return.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1.74,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 2.55,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2.23,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 2.78,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2.06,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.57,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1.18,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1.07,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareDiluted",
      "taxonomy": "us-gaap",
      "label": "Diluted earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per share under dilution rules. Antidilutive instruments may be excluded. A diluted value can equal the basic value without implying no potential dilution.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1.74,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 2.48,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2.17,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 2.74,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2.05,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.57,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1.18,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1.07,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 9757000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 14396000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 14276000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 14375000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 10756000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 10827000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 8746000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 9132000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 60497000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 47585000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 37880000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 30106000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 27516000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 22616000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 21038000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 17128000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 458000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 777000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 769000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4936000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 230000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 226000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 630000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "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": 48407000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 63610000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 64587000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 78018000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 58916000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 47597000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 37840000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 32800000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 164656000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 124306000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 115677000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 107081000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 92541000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 54632000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 52967000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 63144000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InterestExpense",
      "taxonomy": "us-gaap",
      "label": "Interest expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Borrowing costs recognized as interest expense. This is distinct from cash interest paid and may not include every capitalized borrowing cost.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 930000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 375000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 887000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1053000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 702000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2507000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "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": 46858000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 32742000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 37333000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 41462000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 41940000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 36406000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 51933000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 20385000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 6443000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 5091000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 4090000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4549000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 4155000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 10197000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5168000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 2828000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 5467000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 3985000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 4700000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4873000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 5118000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3536000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1767000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 2953000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsForRepurchaseOfCommonStock",
      "taxonomy": "us-gaap",
      "label": "Common-stock repurchase payments",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Cash paid to reacquire common stock during the period. This is not an authorization limit or a direct measure of the net change in share count.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 7609000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 5398000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1417000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3060000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "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": 39853000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 37538000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 40969000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 32075000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 42000000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 27224000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 27228000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 42033000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018Q4I",
          "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": 29608000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 22292000,
          "accn": "0001104659-26-027133",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-03-12",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 24279000,
          "accn": "0001558370-25-002822",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-03-12",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 27568000,
          "accn": "0001558370-24-003435",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-15",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 23306000,
          "accn": "0001558370-23-003920",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-15",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 19068000,
          "accn": "0001558370-22-011928",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-08-03",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 25482000,
          "accn": "0001558370-21-003153",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-17",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 21017000,
          "accn": "0001558370-20-003380",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-30",
          "frame": "CY2018",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/34d10d121335383d487d9981e760dc078d3fa7edca60296b589f5b118d5c5e8a.json.gz"
}
