XML 45 R29.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Summary of Significant Accounting Policies (Policies) | 12 Months Ended
--- | ---
Dec. 31, 2024
Accounting Policies [Abstract] |
Principles of consolidation | Principles of consolidation The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries, as listed within “Organization and business” above. All intercompany accounts and transactions have been eliminated in consolidation.
Comprehensive income (loss) | Comprehensive income (loss) Components of comprehensive income (loss) include net income (loss), foreign currency translation adjustments and net unrealized gains and losses on investments in securities. Comprehensive income (loss) is disclosed in the accompanying Consolidated Statements of Comprehensive Income and Consolidated Statements of Shareholders’ Equity.
Accounting estimates | Accounting estimates The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S. GAAP) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and related disclosures at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.
Cash and cash equivalents | Cash and cash equivalents Cash and cash equivalents include cash and other investments, including marketable securities, with maturities of three months or less at the date of purchase. The Company maintains its cash in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses on such accounts.
Marketable securities | Marketable securities Marketable securities are categorized as available-for-sale and are recorded at fair value. Management determines the appropriate classification of debt securities at the time of purchase and reevaluates such designation as of each balance sheet date. The classification of marketable securities as current or non-current is dependent upon the security’s maturity date. Securities with maturities of three months or less at the time of purchase are categorized as cash equivalents as described above.
Accounts receivable and allowance for doubtful accounts | Accounts receivable and allowance for doubtful accounts Accounts receivable are reported at the invoiced amount less an allowance for doubtful accounts. As of each balance sheet date, the Company evaluates its accounts receivable and establishes an allowance for doubtful accounts based on a combination of specific customer circumstances and credit conditions taking into account the history of write-offs and collections. A receivable is considered past due if payment has not been received within the period agreed upon in the invoice. Accounts receivable are written off after all collection efforts have been exhausted. Recoveries of trade receivables previously written off are recorded when received.
Inventory | Inventory Inventory consists primarily of raw materials, which are recorded at the lower of cost and net realizable value using the standard cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.
Property, equipment and leasehold improvements | Property, equipment and leasehold improvements Property, equipment and leasehold improvements are stated at cost. Major improvements that substantially extend an asset’s useful life are capitalized. Repairs, maintenance and minor improvements are charged to operations as incurred. Depreciation, including amortization of leasehold improvements and assets recorded under capital leases, is calculated using the straight-line method over the estimated useful lives of the individual assets and ranges from 3 to 39 years. Manufacturing equipment is depreciated over 3 to 15 years, office furniture and equipment are depreciated over 3 to 7 years, computer hardware and software are depreciated over 3 to 5 years, building costs are depreciated over 39 years, leasehold improvements are depreciated over the estimated lives of the related assets or the life of the lease, whichever is shorter, and building and land improvements are depreciated over 10 to 39 years. Assets not in service are not depreciated until the asset is put into use. The Company follows ASC 350-40, Internal-Use Software, in accounting for internally developed software.
Goodwill | Goodwill The Company recognizes goodwill in accordance with ASC 350, Intangibles—Goodwill and Other. Goodwill is the excess of cost of an acquired entity over the amounts assigned to assets acquired and liabilities assumed in a business combination. Goodwill is allocated to the Company's reporting units, which are determined by the discrete financial information available for the component and whether it is regularly reviewed by segment management. The Company's reporting units are the United States and Europe. Goodwill is not amortized. Goodwill is tested for impairment annually as of the first day of the fourth quarter, and is tested for impairment between annual tests if an event occurs or circumstances change that would indicate the carrying amount may be impaired. An impairment charge for goodwill is recognized only when the estimated fair value of a reporting unit, including goodwill, is less than its carrying amount. In performing the goodwill impairment assessment, the Company may assess qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying value. Qualitative factors may include, but are not limited to, economic, market and industry conditions, cost factors and overall financial performance of the reporting unit. If after assessing these qualitative factors, the Company determines it is "more-likely-than-not" that the fair value is less than the carrying value, a quantitative assessment of goodwill is required. The quantitative impairment test requires judgment, including the identification of reporting units, the assignment of assets, liabilities and goodwill to reporting units, and the determination of fair value of each reporting unit. The impairment test requires the comparison of the fair value of each reporting unit with its carrying amount, including goodwill. In performing an impairment test, the Company determines the fair value of its reporting units through the income approach by using discounted cash flow (DCF) analyses. Determining fair value requires the Company to make judgments about appropriate discount rates, perpetual growth rates and the amount and timing of expected future cash flows. The cash flows employed in the DCF analysis for each reporting unit are based on the reporting unit's budget, long-term business plan and recent operating performance. Discount rate assumptions are based on an assessment of the risk inherent in the future cash flows of the respective reporting unit and market conditions. Given the inherent uncertainty in determining the assumptions underlying a DCF analysis, actual results may differ from those used in the Company's valuations.
Other Intangible Assets | Other Intangible Assets Other intangible assets include software technology, customer relationships and other intangible assets acquired from other independent parties. Other intangible assets with a definite life are amortized over a period ranging from two to 12 years on a straight line basis, and are tested for impairment whenever events or circumstances indicate that the carrying amount of an asset (asset group) may not be recoverable. An impairment loss is recognized when the carrying amount of an asset exceeds the estimated undiscounted cash flows generated by the asset. The amount of the impairment loss recorded is calculated by the excess of the asset’s carrying value over its fair value.
Accounting for long-lived assets | Accounting for long-lived assets The Company periodically reviews the carrying amount of its property, equipment and leasehold improvements to determine if circumstances exist indicating an impairment or if depreciation periods should be modified. If facts or circumstances indicate that an impairment may exist, the Company will prepare a projection of the undiscounted future cash flows of the specific assets to determine if the assets are recoverable. If impairment exists based on these projections, an adjustment will be made to reduce the carrying amount of the specific assets to fair value.
Revenue recognition | Revenue recognition The Company recognizes revenue for its internal and outsourced manufacturing operations in accordance with ASC 606, Revenue from Contracts with Customers. The Company manufactures custom parts to specific customer orders that have no alternative use to the Company, and the Company believes there is a legally enforceable right to payment for performance completed to date on internally and outsourced manufactured parts. For manufactured parts that meet these two criteria, the Company will recognize revenue over time. Revenue is recognized over time using the input method based on time in production as a percentage of total estimated production time to measure progress toward satisfying performance obligations using the estimated total time necessary to complete the parts per the customer's order and an estimate of inventory and production costs incurred to date. The majority of the Company’s injection molding contracts have multiple performance obligations including one obligation to produce the mold and a second obligation to produce parts. For injection molding contracts with multiple performance obligations, the Company allocates revenue to each performance obligation based on its relative standalone selling price. The Company generally determines standalone selling price based on the price charged to customers.
Leases | Leases The Company accounts for leases in accordance with ASC 842, Leases, which requires the balance sheet recognition of lease assets and lease liabilities by lessees for those leases classified as operating and finance leases. The Company determines if an arrangement is a lease at inception. Operating leases are included in operating lease assets, current operating lease liabilities and long-term operating lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at the commencement date. Finance leases are included in finance lease assets, current finance lease liabilities and long-term finance lease liabilities in the Consolidated Balance Sheets and are recognized based on the present value of lease payments over the lease term at commencement date. The majority of the Company’s leases do not provide an implicit rate of return, therefore, the Company uses its incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease agreements that contain non-lease components, with the exception of certain real estate leases, are accounted for as a single lease component. The Company has operating leases for office space, manufacturing facilities and certain company vehicles and equipment and finance leases for certain company equipment and manufacturing facilities. The leases have remaining lease terms of less than one year to five years. Leases with an initial term of 12 months or less are not recorded on the balance sheet; we recognize lease expense for these leases on a straight-line basis over the lease term. For purposes of calculating operating lease liabilities, lease terms may be deemed to include options to extend or terminate the lease when it is reasonably certain that the Company will exercise that option.
Income taxes | Income taxes The Company accounts for income taxes in accordance with ASC 740, Income Taxes (ASC 740). Under this method, the Company determines tax assets and liabilities based upon the differences between the financial statement carrying amounts and the tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to affect taxable income. The tax consequences of most events recognized in the financial statements are included in determining income taxes currently payable. However, because tax laws and financial accounting standards differ in their recognition and measurement of assets, liabilities and equity, revenues, expenses, gains and losses, differences arise between the amount of taxable income and pretax financial income for a year and between the tax basis of assets or liabilities and their reported amounts in the financial statements. Because the Company assumes that the reported amounts of assets and liabilities will be recovered and settled, respectively, a difference between the tax basis of an asset or liability and its reported amount in the balance sheet will result in a taxable or a deductible amount in some future years when the related liabilities are settled or the reported amounts of the assets are recovered, giving rise to a deferred tax asset or liability. The Company establishes a valuation allowance for any portion of its deferred tax assets that are not at a level of "more-likely-than-not" to be recognized. ASC 740 also clarifies the accounting for uncertainty in income taxes recognized in an enterprise’s financial statements by requiring that individual tax positions are recorded only when they meet a "more-likely-than-not" criterion. The Company recognizes the effect of income tax positions only if sustaining those positions is "more-likely-than-not". The Company records penalties and interest related to unrecognized tax benefits in income taxes in the Company’s Consolidated Statements of Income.
Stock-based compensation | Stock-based compensation The Company accounts for stock-based compensation in accordance with ASC 718, Compensation—Stock Compensation (ASC 718). Under the fair value recognition provisions of ASC 718, the Company measures stock-based compensation cost at the grant date fair value and recognizes the compensation expense over the requisite service period, which is the vesting period, using a straight-line attribution method. The amount of stock-based compensation expense recognized during a period is based on the portion of the awards that are ultimately expected to vest. The Company accounts for forfeitures as they occur. Ultimately, the total expense recognized over the vesting period will only be for those awards that vest. The Company’s awards are not eligible to vest early in the event of retirement, however, the awards vest early in the event of a change in control. In determining the compensation cost of the options granted, the fair value of options granted has been estimated on the date of grant using the Black-Scholes option-pricing model.
Advertising costs | Advertising costs Advertising is expensed as incurred and was approximately $14.3 million, $13.8 million and $13.2 million for the years ended December 31, 2024, 2023 and 2022, respectively.
Research and development | Research and development Research and development expenses consist primarily of personnel and outside service costs related to the development of new processes and product lines, enhancements of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles - Goodwill and Other, Internal-Use Software.
Foreign currency translation/transactions | Foreign currency translation/transactions The Company translated the balance sheets of its foreign subsidiaries at period-end exchange rates and the income statement at the average exchange rates in effect throughout the period. The Company has recorded the translation adjustment as a separate component of consolidated shareholders’ equity. Foreign currency transaction gains and losses are recognized in the Consolidated Statements of Comprehensive Income.
Recently adopted accounting pronouncements and Recently issued accounting pronouncements not yet adopted | Recently adopted accounting pronouncements In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, that updates reportable segment disclosure requirements primarily through enhanced disclosures about significant expenses and information used to assess segment performance on an annual and interim basis. The Company adopted this guidance for its annual year ended December 31, 2024 and all interim periods thereafter. Recently issued accounting pronouncements not yet adopted In December 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, that enhances the transparency of income tax disclosures by expanding annual disclosure requirements related to the rate reconciliation and income taxes paid. The Company is required to adopt this guidance for its annual year ending December 31, 2025. Early adoption is permitted. The Company is currently evaluating the impact of this guidance on its disclosures. In November 2024, the FASB issued ASU No. 2024-03 ("ASU 2024-03"), Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, which is intended to improve disclosures about a public business entity's expenses, primarily through additional disaggregation of income statement expenses. ASU 2024-03 is effective for annual periods beginning after December 15, 2026, and interim periods beginning after December 15, 2027, with early adoption permitted. The Company is currently evaluating ASU 2024-03 to determine the impact on the Company's disclosures.

X
- References No definition available. + Details
Name: | us-gaap_AccountingPoliciesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for advertising cost. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -SubTopic 35 -Topic 720 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1 + Details
Name: | us-gaap_AdvertisingCostsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1 + Details
Name: | us-gaap_CashAndCashEquivalentsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for comprehensive income. + References No definition available. + Details
Name: | us-gaap_ComprehensiveIncomePolicyPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1 + Details
Name: | us-gaap_ConsolidationPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 830 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/830/tableOfContent + Details
Name: | us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 24 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/350-20/tableOfContent + Details
Name: | us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/350-30/tableOfContent Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-5 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3 + Details
Name: | us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 360 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SAB Topic 5.CC) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 05 -Paragraph 4 -SubTopic 10 -Topic 360 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4 + Details
Name: | us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 19 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-03(h)(1)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 17 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1 + Details
Name: | us-gaap_IncomeTaxPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(6)(b)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 330 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 912 -SubTopic 330 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 330 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/330/tableOfContent Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 330 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 45 -Paragraph 6 -Subparagraph (a) -SubTopic 10 -Topic 270 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6 + Details
Name: | us-gaap_InventoryPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for leasing arrangement entered into by lessee. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-1 + Details
Name: | us-gaap_LesseeLeasesPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for investment classified as marketable security. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 942 -SubTopic 320 -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477268/942-320-50-5 + Details
Name: | us-gaap_MarketableSecuritiesPolicy
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact. + References No definition available. + Details
Name: | us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -SubTopic 10 -Topic 360 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 944 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(8)(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 6 -SubTopic 360 -Topic 958 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (d) -SubTopic 360 -Topic 958 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1 + Details
Name: | us-gaap_PropertyPlantAndEquipmentPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 730 -SubTopic 10 -Name Accounting Standards Codification -Section 05 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483044/730-10-05-1 + Details
Name: | us-gaap_ResearchAndDevelopmentExpensePolicy
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for revenue from contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 17 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-17 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 19 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-19 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 18 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 18 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 20 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 20 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 20 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 20 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20 Reference 9: http://www.xbrl.org/2003/role/exampleRef -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (e) -SubTopic 10 -Topic 235 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerPolicyTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(ii) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(v) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.C.Q3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.D.1.Q5) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.D.3.Q2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.D.2.Q6) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/718/tableOfContent Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for accounts receivable. + References Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-6 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2 Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 310 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1 Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-15 Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11B -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B + Details
Name: | us-gaap_TradeAndOtherAccountsReceivablePolicy
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b) -SubTopic 10 -Topic 275 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -SubTopic 10 -Topic 275 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 11 -SubTopic 10 -Topic 275 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 12 -SubTopic 10 -Topic 275 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12 Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8 + Details
Name: | us-gaap_UseOfEstimates
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration