{
  "ticker": "HVT",
  "name": "HAVERTY FURNITURE COMPANIES INC",
  "cik": "0000216085",
  "sic": "5712",
  "sic_description": "Retail-Furniture Stores",
  "source": "SEC XBRL companyfacts",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000216085.json",
  "as_of": "2026-02-26",
  "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": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 821571000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 819866000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 817733000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 802291000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 748252000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1012799000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 1047215000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 862133000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 722899000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 758995000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 28356000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 21075000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 30307000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 21865000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 59148000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 90803000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 89358000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 56319000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 19956000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 19730000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 443337000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 444923000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 446542000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 434488000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 418994000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 574625000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 604225000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 523092000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 439078000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 460497000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "metric_id": "operating_cash_flow",
      "label": "Operating cash flow",
      "concept": "NetCashProvidedByUsedInOperatingActivities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:NetCashProvidedByUsedInOperatingActivities"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 60054000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 52457000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 70392000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 63419000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 130191000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 97242000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 51015000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 97203000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 58909000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 52644000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 29838000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 24465000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 21473000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 16841000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 10927000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 34090000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 28411000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 53115000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 32092000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 19672000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "metric_id": "dividends_paid",
      "label": "Dividends paid",
      "concept": "PaymentsOfDividendsCommonStock",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:PaymentsOfDividendsCommonStock"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 30409000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 11392000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 35464000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 15056000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 50521000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 52446000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 33948000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 35240000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 20468000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 20837000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 21282000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 0.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 18732000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 29757000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 19708000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 41809000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 29998000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 6895000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 4991000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 4778000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 454505000.0,
          "filed": "2018-03-02",
          "accession": "0000216085-18-000011"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 461329000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 440179000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 560072000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 680372000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 686290000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 649049000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 654133000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 648747000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 649052000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "metric_id": "liabilities",
      "label": "Liabilities",
      "concept": "Liabilities",
      "unit": "USD",
      "derived": false,
      "source_concepts": [
        "us-gaap:Liabilities"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 172634000.0,
          "filed": "2018-03-02",
          "accession": "0000216085-18-000011"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 167187000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 165550000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 299569000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 427405000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 430320000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 359650000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 345767000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 341186000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 341123000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 281871000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 294142000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 274629000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 260503000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 252967000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 255970000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 289399000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 308366000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 307561000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 307929000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 63481000.0,
          "filed": "2018-03-02",
          "accession": "0000216085-18-000011"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 79491000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 71537000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 75739000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 200058000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 166146000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 123126000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 120635000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 120034000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 125325000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 2016,
          "period_end": "2016-12-31",
          "value": 30216000.0,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 27992000.0,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 48919000.0,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 46578000.0,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 119264000.0,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 63152000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 22604000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 44088000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 26817000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 32972000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "metric_id": "net_margin",
      "label": "Net margin",
      "concept": "NetIncomeLoss / RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "Percent",
      "derived": true,
      "source_concepts": [
        "us-gaap:NetIncomeLoss",
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 3.451436333560946,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 2.570542015402517,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 3.706221957533816,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 2.7253203638081445,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 7.904823508657512,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 8.965549926490844,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 8.532918264157791,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 6.532518764506172,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 2.7605516123275864,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 2.5994901152181504,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 10.059921027704162,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 7.164906745721454,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 11.035615321033102,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 8.393377427515231,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 23.381705914210155,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 35.47407899363207,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 30.87709356286649,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 18.263686658062174,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 6.488468954126174,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 6.407321168191368,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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": 6.238875259898131,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 4.568323257371637,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 6.885153539809941,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 3.9039623476981533,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 8.693479449477639,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 13.230995643241194,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 13.767527567256094,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 8.609716984160713,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 3.076083588825844,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 3.039818073128193,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "metric_id": "liabilities_to_equity",
      "label": "Liabilities / equity",
      "concept": "Liabilities / StockholdersEquity",
      "unit": "Ratio",
      "derived": true,
      "source_concepts": [
        "us-gaap:Liabilities",
        "us-gaap:StockholdersEquity"
      ],
      "points": [
        {
          "fiscal_year": 2016,
          "period_end": "2016-12-31",
          "value": 0.6124574716803076,
          "filed": "2019-03-04",
          "accession": "0000216085-18-000011"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 0.5683887374125423,
          "filed": "2020-03-05",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 0.6028132498752863,
          "filed": "2021-03-09",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 1.1499637240262108,
          "filed": "2022-03-01",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 1.6895682045484193,
          "filed": "2023-03-08",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1.6811345079501505,
          "filed": "2024-03-07",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 1.2427479016859078,
          "filed": "2025-03-06",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1.1212876906014282,
          "filed": "2026-02-26",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1.1093279056837506,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1.1077975767141126,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    },
    {
      "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.0230849400729545,
          "filed": "2018-03-02",
          "accession": "0000216085-18-000011"
        },
        {
          "fiscal_year": 2017,
          "period_end": "2017-12-31",
          "value": 2.349215021631506,
          "filed": "2019-03-04",
          "accession": "0000216085-19-000005"
        },
        {
          "fiscal_year": 2018,
          "period_end": "2018-12-31",
          "value": 2.2878743227619975,
          "filed": "2020-03-05",
          "accession": "0000216085-20-000011"
        },
        {
          "fiscal_year": 2019,
          "period_end": "2019-12-31",
          "value": 1.6102144611702462,
          "filed": "2021-03-09",
          "accession": "0001140361-21-007795"
        },
        {
          "fiscal_year": 2020,
          "period_end": "2020-12-31",
          "value": 1.5499041859234173,
          "filed": "2022-03-01",
          "accession": "0001140361-22-007311"
        },
        {
          "fiscal_year": 2021,
          "period_end": "2021-12-31",
          "value": 1.4690626827077105,
          "filed": "2023-03-08",
          "accession": "0001628280-23-006912"
        },
        {
          "fiscal_year": 2022,
          "period_end": "2022-12-31",
          "value": 1.7888326253626192,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586"
        },
        {
          "fiscal_year": 2023,
          "period_end": "2023-12-31",
          "value": 1.8196565989700861,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869"
        },
        {
          "fiscal_year": 2024,
          "period_end": "2024-12-31",
          "value": 1.8158020750199522,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        },
        {
          "fiscal_year": 2025,
          "period_end": "2025-12-31",
          "value": 1.8683317222309646,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199"
        }
      ]
    }
  ],
  "quarterly": [
    {
      "metric_id": "revenue",
      "label": "Revenue",
      "concept": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "unit": "USD",
      "source_concepts": [
        "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
      ],
      "points": [
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 2,
          "period_label": "2023-Q2",
          "period_end": "2023-06-30",
          "value": 206289000.0,
          "filed": "2023-08-07",
          "accession": "0001628280-23-027667",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 220347000.0,
          "filed": "2023-11-03",
          "accession": "0001628280-23-036671",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 210744000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 183997000.0,
          "filed": "2024-05-07",
          "accession": "0001628280-24-021092",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 178636000.0,
          "filed": "2024-08-06",
          "accession": "0001628280-24-035196",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 175913000.0,
          "filed": "2024-11-04",
          "accession": "0001628280-24-044893",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 184353000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 181567000.0,
          "filed": "2025-05-02",
          "accession": "0001628280-25-021749",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 181025000.0,
          "filed": "2025-08-05",
          "accession": "0001628280-25-037688",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 194484000.0,
          "filed": "2025-10-31",
          "accession": "0001628280-25-047712",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 201919000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 189050000.0,
          "filed": "2026-05-06",
          "accession": "0001628280-26-031027",
          "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": 11792000.0,
          "filed": "2023-08-07",
          "accession": "0001628280-23-027667",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 3,
          "period_label": "2023-Q3",
          "period_end": "2023-09-30",
          "value": 17154000.0,
          "filed": "2023-11-03",
          "accession": "0001628280-23-036671",
          "derived": false
        },
        {
          "fiscal_year": 2023,
          "fiscal_quarter": 4,
          "period_label": "2023-Q4",
          "period_end": "2023-12-31",
          "value": 15002000.0,
          "filed": "2024-03-07",
          "accession": "0001628280-24-009586",
          "derived": true
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 1,
          "period_label": "2024-Q1",
          "period_end": "2024-03-31",
          "value": 2393000.0,
          "filed": "2024-05-07",
          "accession": "0001628280-24-021092",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 2,
          "period_label": "2024-Q2",
          "period_end": "2024-06-30",
          "value": 4438000.0,
          "filed": "2024-08-06",
          "accession": "0001628280-24-035196",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 3,
          "period_label": "2024-Q3",
          "period_end": "2024-09-30",
          "value": 4928000.0,
          "filed": "2024-11-04",
          "accession": "0001628280-24-044893",
          "derived": false
        },
        {
          "fiscal_year": 2024,
          "fiscal_quarter": 4,
          "period_label": "2024-Q4",
          "period_end": "2024-12-31",
          "value": 8197000.0,
          "filed": "2025-03-06",
          "accession": "0001628280-25-010869",
          "derived": true
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 1,
          "period_label": "2025-Q1",
          "period_end": "2025-03-31",
          "value": 3778000.0,
          "filed": "2025-05-02",
          "accession": "0001628280-25-021749",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 2,
          "period_label": "2025-Q2",
          "period_end": "2025-06-30",
          "value": 2689000.0,
          "filed": "2025-08-05",
          "accession": "0001628280-25-037688",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 3,
          "period_label": "2025-Q3",
          "period_end": "2025-09-30",
          "value": 4729000.0,
          "filed": "2025-10-31",
          "accession": "0001628280-25-047712",
          "derived": false
        },
        {
          "fiscal_year": 2025,
          "fiscal_quarter": 4,
          "period_label": "2025-Q4",
          "period_end": "2025-12-31",
          "value": 8534000.0,
          "filed": "2026-02-26",
          "accession": "0001628280-26-012199",
          "derived": true
        },
        {
          "fiscal_year": 2026,
          "fiscal_quarter": 1,
          "period_label": "2026-Q1",
          "period_end": "2026-03-31",
          "value": 4261000.0,
          "filed": "2026-05-06",
          "accession": "0001628280-26-031027",
          "derived": false
        }
      ]
    },
    {
      "metric_id": "eps_diluted",
      "label": "Diluted EPS",
      "concept": "EarningsPerShareDiluted",
      "unit": "USD/shares",
      "source_concepts": [
        "us-gaap:EarningsPerShareDiluted"
      ],
      "points": [
        {
          "fiscal_year": 2011,
          "fiscal_quarter": 3,
          "period_label": "2011-Q3",
          "period_end": "2011-09-30",
          "value": 0.01,
          "filed": "2011-11-03",
          "accession": "0000216085-11-000044",
          "derived": false
        },
        {
          "fiscal_year": 2012,
          "fiscal_quarter": 1,
          "period_label": "2012-Q1",
          "period_end": "2012-03-31",
          "value": 0.11,
          "filed": "2012-05-07",
          "accession": "0000216085-12-000014",
          "derived": false
        },
        {
          "fiscal_year": 2019,
          "fiscal_quarter": 1,
          "period_label": "2019-Q1",
          "period_end": "2019-03-31",
          "value": 0.17,
          "filed": "2019-05-06",
          "accession": "0000216085-19-000012",
          "derived": false
        },
        {
          "fiscal_year": 2019,
          "fiscal_quarter": 2,
          "period_label": "2019-Q2",
          "period_end": "2019-06-30",
          "value": 0.29,
          "filed": "2019-08-02",
          "accession": "0000216085-19-000021",
          "derived": false
        },
        {
          "fiscal_year": 2019,
          "fiscal_quarter": 3,
          "period_label": "2019-Q3",
          "period_end": "2019-09-30",
          "value": 0.31,
          "filed": "2019-11-01",
          "accession": "0000216085-19-000026",
          "derived": false
        }
      ]
    }
  ]
}
