{
  "ticker": "FSTR",
  "name": "FOSTER L B CO",
  "cik": "0000352825",
  "sic": "5051",
  "sic_description": "Wholesale-Metals Service Centers & of fices",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000352825.json",
  "as_of": "2026-03-05",
  "note": "Verified SEC companyfacts-derived facts; derived metrics (margins, ratios, free cash flow) are computed from those facts. Descriptive data, not investment advice.",
  "annual": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerIncludingAssessedTax",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 536377000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 581064000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 616428000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 497411000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 513620000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 497497000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 543744000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 530765000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 540009000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -141660000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 5361000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -31168000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 42568000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 7582000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 3626000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -45564000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1464000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 42946000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 7545000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "operating_income",
      "label": "Operating income",
      "concept": "OperatingIncomeLoss",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -134165000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 28601000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 38913000.0,
          "filed": "2020-02-27",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 36514000.0,
          "filed": "2020-02-27",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 15633000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 4471000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -7206000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 9107000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 20513000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 21885000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "gross_profit",
      "label": "Gross profit",
      "concept": "GrossProfit",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:GrossProfit"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 90356000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 105261000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 113468000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 120938000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 95006000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 86302000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 89611000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 112044000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 118062000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 113752000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "derived": false,
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -13.79,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 0.51,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -3.01,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 4.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 0.71,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.34,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -4.25,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.13,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 3.89,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 0.69,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "operating_cash_flow",
      "label": "Operating cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 39372000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 25964000.0,
          "filed": "2020-02-27",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 29297000.0,
          "filed": "2020-02-27",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -10576000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 36956000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 22632000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 35619000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "capex",
      "label": "Capital expenditures",
      "concept": "PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 7664000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 6149000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 3658000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 6026000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 9179000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 4620000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 7633000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 4513000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 9791000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 10424000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "share_buybacks",
      "label": "Share buybacks",
      "concept": "PaymentsForRepurchaseOfCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsForRepurchaseOfCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 342000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 103000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 316000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 621000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 1665000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 732000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 410000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 2625000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 8237000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 16511000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "assets",
      "label": "Assets",
      "concept": "Assets",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 393023000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 401743000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 383249000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 405171000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 370395000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 342595000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 365310000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 312401000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 334550000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 330372000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "equity",
      "label": "Stockholders' equity",
      "concept": "StockholdersEquity",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 133251000.0,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 154496000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 122119000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 169862000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 176830000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 183092000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 137178000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 142111000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 178316000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 175276000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "cash",
      "label": "Cash and cash equivalents",
      "concept": "CashAndCashEquivalentsAtCarryingValue",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:CashAndCashEquivalentsAtCarryingValue"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 30363000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 37678000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 10282000.0,
          "filed": "2020-02-27",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 14178000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 7564000.0,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 10372000.0,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 2882000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 2560000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 2454000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 4348000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "free_cash_flow",
      "label": "Free cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities - PaymentsToAcquirePropertyPlantAndEquipment",
      "unit": "USD",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities",
        "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 33223000.0,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 22306000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 23271000.0,
          "filed": "2021-03-03",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -18209000.0,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 32443000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 12841000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 25195000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "net_margin",
      "label": "Net margin",
      "concept": "NetIncomeLoss / RevenueFromContractWithCustomerIncludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 0.9994835721889641,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -5.3639530241074995,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 6.9055915694939225,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 1.5242927880565569,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.705969393715198,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -9.158648192853425,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.2692443502824859,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 8.09133985850612,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1.3971989355732959,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "operating_margin",
      "label": "Operating margin",
      "concept": "OperatingIncomeLoss / RevenueFromContractWithCustomerIncludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:OperatingIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 5.33225697597026,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 6.6968526702738425,
          "filed": "2021-03-03",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 5.923481736715399,
          "filed": "2021-03-03",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 3.142873800539192,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 0.8704879093493245,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -1.4484509454328367,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1.6748690560263655,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 3.8647989223102504,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 4.052710232607234,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "roe",
      "label": "Return on equity",
      "concept": "NetIncomeLoss / StockholdersEquity",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -106.31064682441406,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 3.469992750621375,
          "filed": "2021-03-03",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -25.522645943710643,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 25.060343102047543,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 4.287733981790421,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1.9804251414589387,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -33.21523859511,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1.0301806334485015,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 24.084210054061327,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 4.304639539925603,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "roa",
      "label": "Return on assets",
      "concept": "NetIncomeLoss / Assets",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:Assets"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": -36.04369209944456,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 1.3344351986220047,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": -8.132571774486038,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 10.50618134071787,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 2.047003874242363,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1.058392562646857,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": -12.472694423913937,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 0.46862846149660214,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 12.836945150201764,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 2.283789183102684,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    },
    {
      "metric_id": "current_ratio",
      "label": "Current ratio",
      "concept": "AssetsCurrent / LiabilitiesCurrent",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:AssetsCurrent",
        "us-gaap:LiabilitiesCurrent"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 2.424408788913046,
          "filed": "2018-02-28",
          "accession": "0000352825-18-000004"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 2.4195231476531593,
          "filed": "2019-03-18",
          "accession": "0000352825-19-000012"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 1.8251886207535168,
          "filed": "2020-02-27",
          "accession": "0000352825-20-000008"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 1.8558898101829644,
          "filed": "2021-03-03",
          "accession": "0000352825-21-000014"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 2.0494743027428597,
          "filed": "2022-03-02",
          "accession": "0000352825-22-000008"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 2.0822679072789287,
          "filed": "2023-03-10",
          "accession": "0000352825-23-000034"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 1.995247839706724,
          "filed": "2024-11-01",
          "accession": "0000352825-24-000206"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1.7709336409138527,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1.8302641116245357,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1.869269908604521,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016"
        }
      ]
    }
  ],
  "quarterly": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerIncludingAssessedTax",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 148034000.0,
          "filed": "2023-08-08",
          "accession": "0000352825-23-000095",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 145345000.0,
          "filed": "2023-11-07",
          "accession": "0000352825-23-000109",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 134877000.0,
          "filed": "2024-03-06",
          "accession": "0000352825-24-000076",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 124320000.0,
          "filed": "2024-05-07",
          "accession": "0000352825-24-000108",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 140796000.0,
          "filed": "2024-11-04",
          "accession": "0000352825-24-000210",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 137466000.0,
          "filed": "2024-11-07",
          "accession": "0000352825-24-000217",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 128183000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 97792000.0,
          "filed": "2025-05-06",
          "accession": "0000352825-25-000061",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 143558000.0,
          "filed": "2025-08-11",
          "accession": "0000352825-25-000116",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 138286000.0,
          "filed": "2025-11-03",
          "accession": "0000352825-25-000134",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 160373000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 121144000.0,
          "filed": "2026-05-04",
          "accession": "0000352825-26-000029",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "net_income",
      "label": "Net income",
      "concept": "NetIncomeLoss",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:NetIncomeLoss"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 3531000.0,
          "filed": "2023-08-08",
          "accession": "0000352825-23-000095",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 515000.0,
          "filed": "2023-11-07",
          "accession": "0000352825-23-000109",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": -430000.0,
          "filed": "2024-03-06",
          "accession": "0000352825-24-000076",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 4436000.0,
          "filed": "2024-05-07",
          "accession": "0000352825-24-000108",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 2847000.0,
          "filed": "2024-11-04",
          "accession": "0000352825-24-000210",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 35905000.0,
          "filed": "2024-11-07",
          "accession": "0000352825-24-000217",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": -242000.0,
          "filed": "2025-03-07",
          "accession": "0000352825-25-000055",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": -2110000.0,
          "filed": "2025-05-06",
          "accession": "0000352825-25-000061",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 2885000.0,
          "filed": "2025-08-11",
          "accession": "0000352825-25-000116",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 4354000.0,
          "filed": "2025-11-03",
          "accession": "0000352825-25-000134",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 2416000.0,
          "filed": "2026-03-05",
          "accession": "0000352825-26-000016",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 1500000.0,
          "filed": "2026-05-04",
          "accession": "0000352825-26-000029",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 2,
          "period_label": "2022-Q2",
          "period_end": "2022-06-30",
          "value": 0.18,
          "filed": "2022-08-09",
          "accession": "0000352825-22-000039",
          "derived": false
        },
        {
          "fiscal_year": 2022,
          "fiscal_quarter": 3,
          "period_label": "2022-Q3",
          "period_end": "2022-09-30",
          "value": -0.2,
          "filed": "2022-11-08",
          "accession": "0000352825-22-000065",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 1,
          "period_label": "2023-Q1",
          "period_end": "2023-03-31",
          "value": -0.2,
          "filed": "2023-05-10",
          "accession": "0000352825-23-000057",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 0.32,
          "filed": "2023-08-08",
          "accession": "0000352825-23-000095",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 0.05,
          "filed": "2023-11-07",
          "accession": "0000352825-23-000109",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 0.4,
          "filed": "2024-05-07",
          "accession": "0000352825-24-000108",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 0.26,
          "filed": "2024-11-04",
          "accession": "0000352825-24-000210",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 3.27,
          "filed": "2024-11-07",
          "accession": "0000352825-24-000217",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": -0.2,
          "filed": "2025-05-06",
          "accession": "0000352825-25-000061",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 0.27,
          "filed": "2025-08-11",
          "accession": "0000352825-25-000116",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 0.4,
          "filed": "2025-11-03",
          "accession": "0000352825-25-000134",
          "derived": false
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 0.14,
          "filed": "2026-05-04",
          "accession": "0000352825-26-000029",
          "derived": false
        }
      ]
    }
  ]
}
