{
  "schema": "canli.company-reference.v1",
  "cik": "0001289636",
  "name": "PROFIRE ENERGY, INC.",
  "selection_policy": "extended-v23",
  "source_url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001289636.json",
  "source_sha256": "8524997cf4121ae0175a882246dde55a6b3d39d5e0016b7b52185d64fd3fcdfe",
  "fetched_at": "2026-09-21T17:19:01.867Z",
  "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": "2023-12-31",
          "val": 66293845,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 53929536,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 48038122,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 48323225,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 52248360,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 49362980,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 48008823,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 43108859,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 47267840,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 46856056,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 24749125,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 12385873,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 10125758,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 5998864,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-12-31",
          "val": 9455619,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 7345056,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 3897139,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2950839,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5676774,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4107121,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3961399,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1720542,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 2482712,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 2351598,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 3367855,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 1923226,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 1494182,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 486083,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-12-31",
          "val": 56838226,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 46584480,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 44140983,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 45372386,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 46571586,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 45255859,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 44047424,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 41388317,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 44785128,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q1I",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 44504458,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 21381270,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 10462647,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 8631576,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 5512781,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011Q1I",
          "unit": "USD"
        },
        {
          "end": "2010-03-31",
          "val": 3479273,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010Q1I",
          "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": "2023-12-31",
          "val": 10767519,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 7384578,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 8188270,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 9148312,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7358856,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 10101932,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 11445799,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 7679621,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 19656180,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q1I",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 14144796,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 4456674,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 808772,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 1914877,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 1689386,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011Q1I",
          "unit": "USD"
        },
        {
          "end": "2010-03-31",
          "val": 1931757,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010Q1I",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 10776714,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3947760,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1051543,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -2175597,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2021492,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 6080762,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 4449535,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 34744,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 5747683,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 5607309,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 1432655,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 3187771,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 1626463,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 7064050,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 516077,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 648927,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 264400,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 7713202,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 5552556,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7712811,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 7332933,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 685080,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 2027273,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": -370592,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 1604135,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": -213916,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PaymentsToAcquirePropertyPlantAndEquipment",
      "taxonomy": "us-gaap",
      "label": "Capital expenditure payments",
      "kind": "duration",
      "meaning": "Cash payments to acquire property, plant and equipment. This taxonomy concept does not capture every form of investment or acquisition.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1228275,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 601012,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 168527,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1547331,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 4664619,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1927906,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 611060,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 62465,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 6167945,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 2659295,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 550622,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 1487628,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 210519,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 58208060,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 45936643,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 26356176,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 21458609,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 38981313,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 45614535,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 38286376,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": -2454519,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": -1375011,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -836139,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -210435,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -3050303,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -5233156,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -3239007,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": -39342,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 16752649,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 4451487,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 0,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 0,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 0,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": -1266492,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 10657,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -817503,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1766664,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -7437441,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -1568487,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -805508,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 96176,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": -6910078,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": -2625385,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": -536852,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": -1487628,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": -210519,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-12-31",
          "val": 36202403,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 25425689,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 21477929,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 22529472,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 24705069,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 22683577,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 25548835,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 21099300,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 20849932,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 20815188,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 15067505,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 9460196,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 8027541,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 4839770,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 47355978,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 47161101,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 48070581,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 47778063,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 47490937,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 48471011,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 49365592,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 53243151,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "shares"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 51609760,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 46230669,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 45109767,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 45000000,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 45000000,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 49127558,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 48447342,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 48070581,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 47778063,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 48133749,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 49222353,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 49858435,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "shares"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 53558942,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "shares"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 51680775,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "shares"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 46822984,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "shares"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 45371956,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "shares"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 45218238,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "shares"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 45229413,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 0.23,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 0.08,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -0.02,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -0.05,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.04,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 0.13,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.09,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 0,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD/shares"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 0.11,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 0.12,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 0.03,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 0.07,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 0.04,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 0.22,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD/shares"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 0.08,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD/shares"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -0.02,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD/shares"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -0.05,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD/shares"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 0.04,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD/shares"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 0.12,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD/shares"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0.09,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD/shares"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 0,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD/shares"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 0.11,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD/shares"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 0.12,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD/shares"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 0.03,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD/shares"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 0.07,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD/shares"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 0.04,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 1669697,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1738422,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -629358,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -483567,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1546069,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2517200,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2673694,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 127828,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 2843905,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 3074612,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 730905,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 1163451,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 686211,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-12-31",
          "val": 10782372,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 10423964,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 11185539,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 12021811,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 12071019,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 8020462,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 7197499,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 7458723,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 8232911,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 9275965,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 4385881,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 2232355,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 1982290,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 710460,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 11854100,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 5194608,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -2015000,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -3080211,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3164400,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 7973958,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 6839420,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": -39921,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 8535699,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 8671893,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 2159363,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 4367617,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 2341219,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-12-31",
          "val": 44472716,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 32033626,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 24235721,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 25835775,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 28100224,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 31851389,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 30728832,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 27703826,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 37055497,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 35486450,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 19942266,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 10153518,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 8143468,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 5288404,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InterestExpense",
      "taxonomy": "us-gaap",
      "label": "Interest expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Borrowing costs recognized as interest expense. This is distinct from cash interest paid and may not include every capitalized borrowing cost.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 9449,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 18009,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 0,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": -2692,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 0,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 20370,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 32272,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-12-31",
          "val": 9095470,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 6788315,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 3725121,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2415300,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5185379,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4107121,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 3961399,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1720542,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 1849980,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 1720245,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 3259998,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 1923226,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 1494182,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 486083,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-12-31",
          "val": 2699556,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2955506,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1822559,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1178979,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 2633520,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1177985,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1780977,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 1220478,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 893822,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 1040530,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 1461138,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 1499330,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 645215,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 206582,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-12-31",
          "val": 2579381,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2579381,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 2579381,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 2579381,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 2579381,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 997701,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 997701,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 997701,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 997701,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 997701,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 0,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "FiniteLivedIntangibleAssetsNet",
      "taxonomy": "us-gaap",
      "label": "Net finite-lived intangible assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Finite-lived intangible assets after amortization. This excludes goodwill and should not be combined with indefinite-lived intangible assets without checking scope.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 1104102,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 1268907,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1549138,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1771870,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1989782,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 429956,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 494792,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 490082,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 529300,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 594019,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 0,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "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": "2023-12-31",
          "val": 14013740,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 10886145,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 6262799,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3719508,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5597701,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 6885296,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 8069255,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 5633802,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 4132137,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 9462378,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 8873471,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 5879165,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 4236240,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 2294780,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 1987949,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1228730,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 754574,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 0,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2743534,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 4670134,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 3307544,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 18677918,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 16456782,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 13416015,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 12606412,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 16363959,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 14927222,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 13424487,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 13680241,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 18687058,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 11367278,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 6649907,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 4669727,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 2350563,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-12-31",
          "val": 14059656,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 10293980,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 7185248,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 8414772,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 9571807,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 9659571,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 6465847,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 7839503,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 11046682,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 11766535,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 6579858,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 3463614,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 1968740,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 1300047,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 30532018,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 21651390,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 11401015,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 9526201,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 19528359,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 22901180,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 20263907,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 13640320,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 27222757,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 20039171,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 8809270,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 9037344,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 4691782,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "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": "2023-01-01",
          "end": "2023-12-31",
          "val": 917123,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1051858,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1120080,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1299103,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1933112,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 1397440,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 1221211,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 899013,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 1832671,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 703266,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 315045,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "CommonStockSharesOutstanding",
      "taxonomy": "us-gaap",
      "label": "Common shares outstanding",
      "kind": "instant",
      "unitKind": "shares",
      "meaning": "Common shares outstanding at the reporting date. This point-in-time count differs from the weighted-average shares used for earnings per share and can exclude other share classes.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 46803868,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "shares"
        },
        {
          "end": "2022-12-31",
          "val": 47105771,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "shares"
        },
        {
          "end": "2021-12-31",
          "val": 47643233,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "shares"
        },
        {
          "end": "2020-12-31",
          "val": 47972583,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "shares"
        },
        {
          "end": "2019-12-31",
          "val": 47411977,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "shares"
        },
        {
          "end": "2018-12-31",
          "val": 47932305,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "shares"
        },
        {
          "end": "2017-12-31",
          "val": 48606425,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "shares"
        },
        {
          "end": "2016-12-31",
          "val": 50705933,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "shares"
        },
        {
          "end": "2016-03-31",
          "val": 53256296,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "shares"
        },
        {
          "end": "2015-03-31",
          "val": 53199136,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "shares"
        },
        {
          "end": "2014-03-31",
          "val": 47836543,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "shares"
        },
        {
          "end": "2013-03-31",
          "val": 45250000,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "shares"
        },
        {
          "end": "2012-03-31",
          "val": 45000000,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "shares"
        },
        {
          "end": "2011-03-31",
          "val": 45000000,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "unit": "shares"
        }
      ]
    },
    {
      "tag": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
      "taxonomy": "us-gaap",
      "label": "Cash including restricted cash",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Cash, cash equivalents and restricted cash as reported in the cash flow reconciliation. Restricted amounts are not freely available, so this is not the same as unrestricted cash.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 10767519,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 7384578,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 8188270,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 9148312,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 7358856,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 10101932,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 11445799,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2017Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AdditionalPaidInCapital",
      "taxonomy": "us-gaap",
      "label": "Additional paid-in capital",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Capital contributed above par value under this concept. It records historical contributions, not the current value of the equity or cash on hand.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 32751749,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 31737843,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 30819394,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 30293472,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 29584172,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 28027742,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 27535469,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 26628983,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 26164622,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 25525052,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 6496980,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 585735,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
      "taxonomy": "us-gaap",
      "label": "Accumulated other comprehensive income or loss",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Cumulative other comprehensive items after tax, such as translation and unrealized hedging or securities effects. These amounts have not passed through net income.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": -2844702,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": -3294873,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": -2100467,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": -2148924,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": -2415460,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": -2895683,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": -2200462,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": -2810743,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": -2282682,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": -1888981,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": -231051,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 371466,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 484692,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 634198,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PropertyPlantAndEquipmentGross",
      "taxonomy": "us-gaap",
      "label": "Gross property, plant and equipment",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Cost of property, plant and equipment before accumulated depreciation. Historical cost does not indicate current value or replacement cost.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 15526779,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 14689147,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 15789232,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 15963757,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 17157973,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 12561969,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 11325663,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 10890533,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 10994710,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 11297543,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 5400647,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 2943290,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 2545673,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
      "taxonomy": "us-gaap",
      "label": "Accumulated depreciation on property, plant and equipment",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Cumulative depreciation, depletion and amortization recorded against property, plant and equipment. It measures cost allocation to date, not physical wear or market value.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 4744407,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023Q4I",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 4265183,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 4603693,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 3941946,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 5086954,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 4541507,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 4128164,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 3431810,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": -2761799,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": -2021578,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": -1014766,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": -710935,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": -563383,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "AccruedLiabilitiesCurrent",
      "taxonomy": "us-gaap",
      "label": "Accrued current liabilities",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Current obligations accrued for goods and services received but not yet invoiced or paid. This is one component of current liabilities, not all short-term obligations.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 4541820,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 3573994,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1872348,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1196870,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 2089391,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 1756945,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 1022745,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 284214,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-03-31",
          "val": 620783,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "end": "2015-03-31",
          "val": 332229,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2015Q1I",
          "unit": "USD"
        },
        {
          "end": "2014-03-31",
          "val": 193727,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2014Q1I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 189489,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 251137,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 36137,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "PrepaidExpenseAndOtherAssetsCurrent",
      "taxonomy": "us-gaap",
      "label": "Prepaid expenses and other current assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Prepayments and other current assets grouped under this concept. The balance is not cash and its composition differs by filer.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 2832262,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 2314639,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 1025276,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 1678428,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 1672422,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ContractWithCustomerLiabilityCurrent",
      "taxonomy": "us-gaap",
      "label": "Current contract liabilities",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Consideration received before performance obligations are satisfied, often called deferred revenue. It is an obligation to deliver, not earned revenue or cash available.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 780428,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 420827,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 817,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "DeferredTaxAssetsNet",
      "taxonomy": "us-gaap",
      "label": "Net deferred tax assets",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Deferred tax assets after the valuation allowance. Realization depends on future taxable income, so the balance is not a receivable from tax authorities.",
      "observations": [
        {
          "end": "2018-12-31",
          "val": 85092,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "unit": "USD"
        },
        {
          "end": "2017-12-31",
          "val": 72817,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017Q4I",
          "unit": "USD"
        },
        {
          "end": "2016-12-31",
          "val": 60940,
          "accn": "0001289636-18-000006",
          "fy": 2017,
          "fp": "FY",
          "form": "10-K",
          "filed": "2018-03-07",
          "frame": "CY2016Q4I",
          "unit": "USD"
        },
        {
          "end": "2013-03-31",
          "val": 0,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2013Q1I",
          "unit": "USD"
        },
        {
          "end": "2012-03-31",
          "val": 12569,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012Q1I",
          "unit": "USD"
        },
        {
          "end": "2011-03-31",
          "val": 0,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2011Q1I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "DeferredIncomeTaxLiabilitiesNet",
      "taxonomy": "us-gaap",
      "label": "Net deferred tax liabilities",
      "kind": "instant",
      "unitKind": "money",
      "meaning": "Deferred tax liabilities net of related assets under this concept. The amount reflects timing differences and is not tax currently due.",
      "observations": [
        {
          "end": "2023-12-31",
          "val": 52621,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "unit": "USD"
        },
        {
          "end": "2022-12-31",
          "val": 488858,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022Q4I",
          "unit": "USD"
        },
        {
          "end": "2021-12-31",
          "val": 136106,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021Q4I",
          "unit": "USD"
        },
        {
          "end": "2020-12-31",
          "val": 522870,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020Q4I",
          "unit": "USD"
        },
        {
          "end": "2019-12-31",
          "val": 439275,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019Q4I",
          "unit": "USD"
        },
        {
          "end": "2018-12-31",
          "val": 0,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018Q4I",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "taxonomy": "us-gaap",
      "label": "Pre-tax income or loss from continuing operations",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Income or loss from continuing operations before income taxes and noncontrolling interests. It excludes discontinued operations and is not net income.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 12446411,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 5686182,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1680901,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -2659164,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 3567561,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 8597962,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 7123229,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 162572,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 8591588,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 8681921,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 2163560,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 4351222,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 2312674,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "ComprehensiveIncomeNetOfTax",
      "taxonomy": "us-gaap",
      "label": "Comprehensive income or loss",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Net income plus other comprehensive income after tax. It includes unrealized items that net income excludes and is not a cash measure.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 11226885,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 2753354,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1003086,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -1909061,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 2501715,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 5385541,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 5059816,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": -358957,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 4089753,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 5004792,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 1319429,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 3038265,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 1988246,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "GeneralAndAdministrativeExpense",
      "taxonomy": "us-gaap",
      "label": "General and administrative expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "General and administrative costs reported under this concept, separate from selling expense. Filers group overhead differently, so compare presentation before comparing companies.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 17184917,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 14776905,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 11533496,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 10641122,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 13454195,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 13029228,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 11676693,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 12264442,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": 16296156,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": 6466177,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 3483030,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 2752451,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 1307580,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "Depreciation",
      "taxonomy": "us-gaap",
      "label": "Depreciation expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Depreciation recognized for the period under this concept. It is a noncash allocation of asset cost and may exclude amortization and depletion reported elsewhere.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1108962,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1101044,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1255647,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1163722,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1464844,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 896157,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 890018,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": -989484,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": -1140319,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": -359305,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": -243838,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": 198707,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 91024,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "DepreciationDepletionAndAmortization",
      "taxonomy": "us-gaap",
      "label": "Depreciation, depletion and amortization",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Combined depreciation, depletion and amortization for the period. A noncash allocation of asset cost, not a measure of maintenance spending.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1108962,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1101044,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 1255647,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 1176707,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1467007,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 896681,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 889724,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "OtherNonoperatingIncomeExpense",
      "taxonomy": "us-gaap",
      "label": "Other nonoperating income or expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Other income or expense outside operations under this concept. The composition is filer-specific and can include one-time items.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -57088,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 14383,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 8715,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -67078,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 5044,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -7414,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 40992,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "NonoperatingIncomeExpense",
      "taxonomy": "us-gaap",
      "label": "Nonoperating income or expense",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Total nonoperating income or expense, which can include interest, investment results and other items. A positive value is not operating profit.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 592311,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 491574,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 334099,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 421047,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 403161,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 624004,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 283809,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": 18133,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": -16395,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": -28545,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "CurrentIncomeTaxExpenseBenefit",
      "taxonomy": "us-gaap",
      "label": "Current income tax expense or benefit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Income tax expense or benefit for the period that is currently payable or refundable. It differs from cash taxes paid and from total tax expense.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 2657803,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 1064432,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -647322,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -559571,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 1072482,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 2517166,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2700533,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "DeferredIncomeTaxExpenseBenefit",
      "taxonomy": "us-gaap",
      "label": "Deferred income tax expense or benefit",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "The deferred portion of income tax expense or benefit, arising from timing differences. It is not tax paid in the period.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": -988106,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 673990,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 17964,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 76004,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 473587,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 34,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -26839,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "InterestPaidNet",
      "taxonomy": "us-gaap",
      "label": "Interest paid, net",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Cash interest paid during the period, net of amounts capitalized where the filer reports it that way. It differs from interest expense recognized.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 9450,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 17726,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 3205,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": 6090,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": 6497,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 0,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 0,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "IncomeTaxesPaidNet",
      "taxonomy": "us-gaap",
      "label": "Income taxes paid, net",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "Cash income taxes paid net of refunds during the period. It differs from income tax expense and can reflect prior years and estimated payments.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 1155682,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 847712,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 17150,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "IncreaseDecreaseInAccountsReceivable",
      "taxonomy": "us-gaap",
      "label": "Change in accounts receivable",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "The cash flow adjustment for the change in receivables during the period. A positive value under this concept means receivables grew and reduced operating cash flow.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 3128051,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 4745871,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": 2595483,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -2268435,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -1965207,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": -911981,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": 2591392,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 5114485,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": -912606,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": -3264108,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": -1494660,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": -2049959,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 1102711,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    },
    {
      "tag": "IncreaseDecreaseInInventories",
      "taxonomy": "us-gaap",
      "label": "Change in inventories",
      "kind": "duration",
      "unitKind": "money",
      "meaning": "The cash flow adjustment for the change in inventories during the period. A positive value under this concept means inventory grew and reduced operating cash flow.",
      "observations": [
        {
          "start": "2023-01-01",
          "end": "2023-12-31",
          "val": 3712212,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2023",
          "unit": "USD"
        },
        {
          "start": "2022-01-01",
          "end": "2022-12-31",
          "val": 3240049,
          "accn": "0001289636-24-000005",
          "fy": 2023,
          "fp": "FY",
          "form": "10-K",
          "filed": "2024-03-13",
          "frame": "CY2022",
          "unit": "USD"
        },
        {
          "start": "2021-01-01",
          "end": "2021-12-31",
          "val": -1247004,
          "accn": "0001289636-23-000005",
          "fy": 2022,
          "fp": "FY",
          "form": "10-K",
          "filed": "2023-03-08",
          "frame": "CY2021",
          "unit": "USD"
        },
        {
          "start": "2020-01-01",
          "end": "2020-12-31",
          "val": -1216200,
          "accn": "0001289636-22-000005",
          "fy": 2021,
          "fp": "FY",
          "form": "10-K",
          "filed": "2022-03-08",
          "frame": "CY2020",
          "unit": "USD"
        },
        {
          "start": "2019-01-01",
          "end": "2019-12-31",
          "val": -1630632,
          "accn": "0001289636-21-000005",
          "fy": 2020,
          "fp": "FY",
          "form": "10-K",
          "filed": "2021-03-10",
          "frame": "CY2019",
          "unit": "USD"
        },
        {
          "start": "2018-01-01",
          "end": "2018-12-31",
          "val": 3417671,
          "accn": "0001289636-20-000004",
          "fy": 2019,
          "fp": "FY",
          "form": "10-K",
          "filed": "2020-03-11",
          "frame": "CY2018",
          "unit": "USD"
        },
        {
          "start": "2017-01-01",
          "end": "2017-12-31",
          "val": -1346919,
          "accn": "0001289636-19-000007",
          "fy": 2018,
          "fp": "FY",
          "form": "10-K",
          "filed": "2019-03-06",
          "frame": "CY2017",
          "unit": "USD"
        },
        {
          "start": "2015-04-01",
          "end": "2016-03-31",
          "val": 641410,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "unit": "USD"
        },
        {
          "start": "2014-04-01",
          "end": "2015-03-31",
          "val": -5472869,
          "accn": "0001096906-16-001679",
          "fy": 2016,
          "fp": "FY",
          "form": "10-K",
          "filed": "2016-06-13",
          "frame": "CY2014",
          "unit": "USD"
        },
        {
          "start": "2013-04-01",
          "end": "2014-03-31",
          "val": -3249235,
          "accn": "0001096906-15-000641",
          "fy": 2015,
          "fp": "FY",
          "form": "10-K",
          "filed": "2015-06-15",
          "frame": "CY2013",
          "unit": "USD"
        },
        {
          "start": "2012-04-01",
          "end": "2013-03-31",
          "val": -1528107,
          "accn": "0001096906-14-000885",
          "fy": 2014,
          "fp": "FY",
          "form": "10-K",
          "filed": "2014-06-30",
          "frame": "CY2012",
          "unit": "USD"
        },
        {
          "start": "2011-04-01",
          "end": "2012-03-31",
          "val": -703223,
          "accn": "0001038838-13-000261",
          "fy": 2012,
          "fp": "FY",
          "form": "10-K",
          "filed": "2013-07-01",
          "frame": "CY2011",
          "unit": "USD"
        },
        {
          "start": "2010-04-01",
          "end": "2011-03-31",
          "val": 615346,
          "accn": "0001038838-12-000173",
          "fy": 2011,
          "fp": "FY",
          "form": "10-K",
          "filed": "2012-06-28",
          "frame": "CY2010",
          "unit": "USD"
        }
      ]
    }
  ],
  "source_snapshot": "/company-data/sources/8524997cf4121ae0175a882246dde55a6b3d39d5e0016b7b52185d64fd3fcdfe.json.gz"
}
