{
  "schema": "canli.company-reference.v1",
  "cik": "0000355811",
  "name": "GENTEX CORPORATION",
  "selection_policy": "extended-v22",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000355811.json",
  "source_sha256": "eb99451c516d46096834feea4e32d587225b1e40e8c07b7e0c0a0961878fc624",
  "fetched_at": "2026-09-19T14:57:30.647Z",
  "policy": "Latest-filed annual-report facts per unit and reporting period at capture time. Duration facts cover 300 to 400 days. This selection can include restatements and is not a point-in-time backtest dataset. Missing concepts are omitted, never zero-filled. Values retain original units and are not currency converted. Extended concepts require compatible unit shapes and at least three reporting ends with changing values within one unit. Constant or incompatible added histories are omitted.",
  "claim_boundary": "Public company accounting reference, not market prices, returns, an investment recommendation, or ALPHAC performance. Validate a separately constructed return series with the validation API; accounting values are not returns.",
  "concepts": [
    {
      "tag": "Assets",
      "taxonomy": "us-gaap",
      "label": "Total assets",
      "kind": "instant",
      "meaning": "Resources recognized on the balance sheet. Book assets are not the market value of the business.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 2928592834,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 2760820975,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2611437552,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2327229924,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 2131391166,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2197941170,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 2168803193,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 2085434068,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 2352053912,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 2309619833,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 2148672928,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 2022540029,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1764088434,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 1265691335,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 1176027002,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 1002690639,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 822603489,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Liabilities",
      "taxonomy": "us-gaap",
      "label": "Total liabilities",
      "kind": "instant",
      "meaning": "Recognized obligations at the reporting date. The definition and scope differ from interest-bearing debt.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 437660897,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 288721320,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 298920483,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 261437103,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 193402699,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 233998042,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 230715373,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 223682408,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 302535651,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 399195599,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 426156167,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 451127584,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 436484751,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 144730779,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "StockholdersEquity",
      "taxonomy": "us-gaap",
      "label": "Stockholders equity",
      "kind": "instant",
      "meaning": "The reported residual interest after liabilities. It is an accounting amount, not market capitalization.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 2487829724,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 2467950655,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 2312517069,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2065792821,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1937988467,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1963943128,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1938087820,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1861751660,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 2049518261,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1910424234,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 1722516761,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 1571412445,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 1327603683,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 1120960556,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 1027118521,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 893530826,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 735928743,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2009Q4I",
          "unit": "USD"
        },
        {
          "end": "2008-12-31",
          "val": 698596322,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2008Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "CashAndCashEquivalentsAtCarryingValue",
      "taxonomy": "us-gaap",
      "label": "Cash and cash equivalents",
      "kind": "instant",
      "meaning": "Cash and qualifying short-term liquid investments under the filer’s accounting policy. Restricted cash and longer-term investments may be reported separately.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 145645715,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 233318766,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 226435019,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 214754638,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 262311670,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 423371036,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 296321622,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 217025278,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 569734496,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 546477075,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 551557527,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 497429804,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 309591724,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 389678664,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 357986774,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 348349773,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 336108446,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2009Q4I",
          "unit": "USD"
        },
        {
          "end": "2008-12-31",
          "val": 294306512,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2008Q4I",
          "unit": "USD"
        },
        {
          "end": "2007-12-31",
          "val": 317717093,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2007Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Net income or loss",
      "kind": "duration",
      "meaning": "Reported profit or loss for the period. Check the filing for attribution, exceptional items and discontinued operations before comparing companies.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 384841367,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 404487743,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 428403272,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 318757352,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 360797232,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 347563621,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 424683939,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 437883097,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 406791922,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 347591276,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 318469859,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 288604579,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 222929949,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 168586840,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 164668228,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 137733969,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 64637085,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 62087947,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInOperatingActivities",
      "taxonomy": "us-gaap",
      "label": "Operating cash flow",
      "kind": "duration",
      "meaning": "Cash generated or used by operating activities. Working-capital timing can make this differ substantially from reported income.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 587126291,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 498213220,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 537249592,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 338200529,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 362167562,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 464491771,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 505966864,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 552418646,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 501002780,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 477048185,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 354416152,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 327223109,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 317338830,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 257846054,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 141668665,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 128133686,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 110654296,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 120632220,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
      "taxonomy": "us-gaap",
      "label": "Contract revenue excluding tax",
      "kind": "duration",
      "meaning": "Revenue from customer contracts excluding assessed taxes under this specific taxonomy concept. It is not automatically comparable to older revenue tags.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 2534268965,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 2313314333,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2299215044,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1918958043,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1731169929,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1688189405,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1858897406,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1834063697,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1794872578,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInFinancingActivities",
      "taxonomy": "us-gaap",
      "label": "Financing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from financing activities, including borrowing, repayments and transactions with owners. A positive amount does not establish operating profitability.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -407899821,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -289251056,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -230152891,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -209019053,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -410119973,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -363858794,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -369959438,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -719306670,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -400032789,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -230682529,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -210550768,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -59671546,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 235830849,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": -94079920,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": -28504674,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 8694134,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -53077862,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": -159844763,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NetCashProvidedByUsedInInvestingActivities",
      "taxonomy": "us-gaap",
      "label": "Investing cash flow",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net cash from investing activities, including asset purchases, disposals and investment transactions. This differs from capital expenditure payments alone.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": -266899521,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": -202078417,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -299416320,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -172738508,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -113106955,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 26416437,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -56711082,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -185821194,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -77712570,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": -251446108,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": -89737661,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": -79713483,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": -633256619,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": -132074244,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": -103526990,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": -124586493,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": -15774500,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 15801962,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "RetainedEarningsAccumulatedDeficit",
      "taxonomy": "us-gaap",
      "label": "Retained earnings or deficit",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Accumulated undistributed earnings or deficit at the reporting date. This balance is not cash available for distribution.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 1466046002,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1450287128,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 1336940990,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 1148386272,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1042461388,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1089698996,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1116372133,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1102468137,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1301997327,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1210984825,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 1109384621,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 988548070,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 818027861,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 676039254,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 610702253,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 514842177,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 438937242,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfSharesOutstandingBasic",
      "taxonomy": "us-gaap",
      "label": "Basic weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Time-weighted shares used for basic earnings per share. This denominator differs from shares outstanding at a single reporting date.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 217834174,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 225710698,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 229405479,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 230825293,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 235526911,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 242599923,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 251766382,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 267794786,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 285864997,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 288433772,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 293096212,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 290952123,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 286920036,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 286195060,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 142492699,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 139356831,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 137227677,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "WeightedAverageNumberOfDilutedSharesOutstanding",
      "taxonomy": "us-gaap",
      "label": "Diluted weighted-average shares",
      "kind": "duration",
      "unitKind": "shares",
      "meaning": "Weighted-average shares used for diluted earnings per share. Potential shares are included under the applicable dilution rules, not simply added to outstanding shares.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 217848653,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 226023482,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 229720198,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 231219489,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 236604014,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 243681992,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 253272990,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 269877349,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 288226089,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 291072316,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 296237899,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 294299359,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 288548342,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 287936062,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 144276808,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 140735767,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 137645350,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareBasic",
      "taxonomy": "us-gaap",
      "label": "Basic earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per basic common share or unit. Inspect attribution, share classes and restatements before comparing periods. This is not a market return.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1.74,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1.77,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1.84,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1.36,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1.51,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.41,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1.67,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1.64,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1.42,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1.21,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1.09,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 0.99,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 0.78,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 0.59,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1.16,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 0.99,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD/shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 0.47,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD/shares"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 0.44,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "EarningsPerShareDiluted",
      "taxonomy": "us-gaap",
      "label": "Diluted earnings per share",
      "kind": "duration",
      "unitKind": "per-share",
      "meaning": "Reported earnings or loss per share under dilution rules. Antidilutive instruments may be excluded. A diluted value can equal the basic value without implying no potential dilution.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 1.74,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD/shares"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 1.76,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD/shares"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1.84,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1.36,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1.5,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1.41,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1.66,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1.62,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1.41,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 1.19,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD/shares"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 1.08,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD/shares"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 0.98,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 0.77,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 0.59,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 1.14,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 0.98,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD/shares"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 0.47,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD/shares"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 0.44,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD/shares"
        }
      ]
    },
    {
      "tag": "IncomeTaxExpenseBenefit",
      "taxonomy": "us-gaap",
      "label": "Income tax expense or benefit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Current and deferred income tax expense or benefit for continuing operations. This accounting expense differs from cash taxes paid.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 76380338,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 67725940,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 76577902,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 50965724,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 55554504,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 64249308,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 75731395,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 84163850,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 125004782,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 162969497,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 145121597,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 126721911,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 105134094,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 81038760,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 79763583,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 65706045,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 31715218,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 30106914,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PropertyPlantAndEquipmentNet",
      "taxonomy": "us-gaap",
      "label": "Net property, plant and equipment",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Carrying amount of property, plant and equipment after accumulated depreciation, depletion and amortization. It is not replacement cost or market value.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 790935378,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 728481467,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 652877672,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 550033036,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 464121676,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 468135135,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 498316100,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 498473766,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 492479330,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 465822467,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 412720270,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 373390992,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 357021225,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 349938172,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 282541588,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 205107756,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 197530249,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ShareBasedCompensation",
      "taxonomy": "us-gaap",
      "label": "Share-based compensation expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Reported noncash expense for share-based payment arrangements. Noncash treatment does not mean the awards have no economic cost to shareholders.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 36649818,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 39539362,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 39197422,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 30228606,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 27421645,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 30797327,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 21671192,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 18305981,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 18376965,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 19192699,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 21430991,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 21276991,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 17427233,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 16433837,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 14197557,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 10652196,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 9084891,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 10217484,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OperatingIncomeLoss",
      "taxonomy": "us-gaap",
      "label": "Operating income or loss",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Operating revenue less operating expenses for the reporting period. It excludes items outside the reported operating result and is not free cash flow.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 473935754,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 459726573,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 495731053,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 370006126,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 409781978,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 399556092,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 488537604,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 508125547,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 523358352,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 511742935,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 458766439,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 398834174,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 304741813,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 234455232,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 231367925,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 190972069,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 94619069,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 108812916,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AssetsCurrent",
      "taxonomy": "us-gaap",
      "label": "Current assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Assets classified as current under the normal operating cycle or one-year boundary. Not all current assets can be converted immediately into cash.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 1128434468,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 1037328170,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 997738153,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 948652376,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 872975749,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 979330564,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 950376892,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 850930254,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1184563823,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1154989029,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 984008792,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 856637694,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 601186242,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 744663040,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 752292984,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 655269274,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 505413495,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "LiabilitiesCurrent",
      "taxonomy": "us-gaap",
      "label": "Current liabilities",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Obligations classified as current under the operating-cycle or one-year boundary. The balance includes more than short-term borrowing.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 387542969,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 252692676,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 271608976,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 250552752,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 181656100,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 177736857,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 171846800,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 169160919,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 243647007,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 149857979,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 131006546,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 133431163,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 119980414,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 87957442,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 100694500,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 72088629,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 58637778,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccountsPayableCurrent",
      "taxonomy": "us-gaap",
      "label": "Current accounts payable",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Current amounts owed to suppliers for goods and services received. This is one component of current liabilities, not all accrued obligations.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 248983498,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 168314912,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 184398820,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 151740046,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 98342928,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 84784423,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 97553917,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 92810316,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 89898467,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 79963630,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 66353774,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 71456983,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 56510321,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 43200002,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 65470573,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 40295464,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 27456747,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Goodwill",
      "taxonomy": "us-gaap",
      "label": "Goodwill carrying amount",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Recognized goodwill remaining after accumulated impairment. It arises from business combinations and does not measure the current value of the company’s brand.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 357211919,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 340668927,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 340105631,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 313807494,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 313960209,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 311922787,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 307365845,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 307365845,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 307365845,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 307365845,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 307365845,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 307365845,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 307365845,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 0,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccountsReceivableNetCurrent",
      "taxonomy": "us-gaap",
      "label": "Net current accounts receivable",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Current customer receivables after the allowance for credit loss. The balance is not cash collected or a guarantee of collection.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 368517569,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 295344353,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 321809868,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 276493752,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 249794906,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 284925335,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 235410326,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 213537799,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 231121788,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 211591745,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 195969400,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 168008704,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 143046590,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 109579693,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 110389715,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 95647612,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 71159512,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsForRepurchaseOfCommonStock",
      "taxonomy": "us-gaap",
      "label": "Common-stock repurchase payments",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Cash paid to reacquire common stock during the period. This is not an authorization limit or a direct measure of the net change in share count.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 315499459,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 206108138,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 147401103,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 112529406,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 324643135,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 288480506,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 331471392,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 591577851,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 231363216,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 163361221,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 111228825,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 30010882,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 0,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 33716725,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 0,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 0,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 0,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 111259803,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OperatingExpenses",
      "taxonomy": "us-gaap",
      "label": "Operating expenses",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Recurring operating costs under this accounting concept, generally excluding production costs included in cost of sales. Check filing presentation before combining expense subtotals.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 392773186,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 311363617,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 266898955,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 239808059,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 209925869,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 205887428,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 199770365,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 182341145,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 171169914,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 156709309,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 145009613,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 140055521,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 125991089,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 138363327,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 130212410,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 104718244,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 82935708,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 94313972,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InventoryNet",
      "taxonomy": "us-gaap",
      "label": "Net inventory",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Inventory carrying amount after applicable valuation and LIFO reserves. It does not establish realizable selling proceeds or inventory turnover without other inputs.",
      "observations": [
        {
          "end": "2025-12-31",
          "val": 516253617,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "unit": "USD"
        },
        {
          "end": "2024-12-31",
          "val": 436497445,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024Q4I",
          "unit": "USD"
        },
        {
          "end": "2023-12-31",
          "val": 402473028,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 404360270,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 316267442,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 226291843,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 248941855,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 225281599,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 216765583,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 189311437,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2015-12-31",
          "val": 174695411,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2015Q4I",
          "unit": "USD"
        },
        {
          "end": "2014-12-31",
          "val": 141757884,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2014Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-12-31",
          "val": 120074164,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2013Q4I",
          "unit": "USD"
        },
        {
          "end": "2012-12-31",
          "val": 159930266,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2012Q4I",
          "unit": "USD"
        },
        {
          "end": "2011-12-31",
          "val": 188753312,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2011Q4I",
          "unit": "USD"
        },
        {
          "end": "2010-12-31",
          "val": 100728730,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2010Q4I",
          "unit": "USD"
        },
        {
          "end": "2009-12-31",
          "val": 53608996,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2009Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "GrossProfit",
      "taxonomy": "us-gaap",
      "label": "Gross profit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Revenue less the costs directly attributed to the goods or services sold. It precedes other operating expenses and is not net income.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 866708940,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 771090190,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 762630008,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 609814185,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 619707847,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 605443520,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 688307969,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 690466692,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 694528266,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 668452244,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 603776052,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 538889695,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 430732902,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 372818559,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 361580335,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 295690313,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 177554777,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 203126888,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "SellingGeneralAndAdministrativeExpense",
      "taxonomy": "us-gaap",
      "label": "Selling, general and administrative expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Selling and general administrative costs reported under this concept. It is an expense category, not a substitute for total operating expenses.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 177868692,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 121023692,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 112539255,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 106499255,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 92162193,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 89952381,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 85083056,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 75206283,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 71443476,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 62471277,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 56616694,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 55879783,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 49496038,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 48359725,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 48578252,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 40617833,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 35807622,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 42425050,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ResearchAndDevelopmentExpense",
      "taxonomy": "us-gaap",
      "label": "Research and development expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Research and development costs recognized as expense. Capitalization policies and acquired projects can make this differ from total cash invested in development.",
      "observations": [
        {
          "start": "2025-01-01",
          "end": "2025-12-31",
          "val": 203259756,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2025",
          "unit": "USD"
        },
        {
          "start": "2024-01-01",
          "end": "2024-12-31",
          "val": 181475221,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2024",
          "unit": "USD"
        },
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 154359700,
          "accn": "0000355811-26-000010",
          "fy": 2025,
          "fp": "FY",
          "form": "10-K",
          "filed": "2026-02-24",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 133308804,
          "accn": "0000355811-25-000009",
          "fy": 2024,
          "fp": "FY",
          "form": "10-K",
          "filed": "2025-02-25",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 117763676,
          "accn": "0000355811-24-000011",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-02-22",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 115935047,
          "accn": "0000355811-23-000011",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-02-22",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 114687309,
          "accn": "0000355811-22-000006",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-02-23",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 107134862,
          "accn": "0000355811-21-000006",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-02-22",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 99726438,
          "accn": "0000355811-20-000007",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-02-26",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2016-01-01",
          "end": "2016-12-31",
          "val": 94238032,
          "accn": "0000355811-19-000006",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-02-22",
          "frame": "CY2016",
          "unit": "USD"
        },
        {
          "start": "2015-01-01",
          "end": "2015-12-31",
          "val": 88392919,
          "accn": "0000355811-18-000009",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-02-21",
          "frame": "CY2015",
          "unit": "USD"
        },
        {
          "start": "2014-01-01",
          "end": "2014-12-31",
          "val": 84175738,
          "accn": "0000355811-17-000013",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2017-02-22",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-01-01",
          "end": "2013-12-31",
          "val": 76495051,
          "accn": "0000355811-16-000063",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-02-23",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-01-01",
          "end": "2012-12-31",
          "val": 85003602,
          "accn": "0000355811-15-000015",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-02-23",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-01-01",
          "end": "2011-12-31",
          "val": 81634158,
          "accn": "0000355811-14-000007",
          "fy": 2013,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-02-26",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-01-01",
          "end": "2010-12-31",
          "val": 64100411,
          "accn": "0000355811-13-000003",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-02-20",
          "frame": "CY2010",
          "unit": "USD"
        },
        {
          "start": "2009-01-01",
          "end": "2009-12-31",
          "val": 47128086,
          "accn": "0001193125-12-071341",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-02-22",
          "frame": "CY2009",
          "unit": "USD"
        },
        {
          "start": "2008-01-01",
          "end": "2008-12-31",
          "val": 51888922,
          "accn": "0000950123-11-016242",
          "fy": 2010,
          "fp": "FY",
          "form": "10-K",
          "filed": "2011-02-22",
          "frame": "CY2008",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/eb99451c516d46096834feea4e32d587225b1e40e8c07b7e0c0a0961878fc624.json.gz"
}
