XML 45 R31.htm IDEA: XBRL DOCUMENT
v3.24.0.1

INCOME TAXES (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
INCOME TAXES |
Schedule of components of the provision for income taxes | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
(in thousands) |  | 2023 |  | 2022 |  | 2021
Current provision: |  | ​ |  |  | ​ |  |  | ​ |
Federal | ​ | $ | 12,384 | ​ | $ | 12,225 | ​ | $ | 7,176
State | ​ |  | 1,109 | ​ |  | 1,360 | ​ |  | 346
Deferred (benefit) provision: | ​ |  | ​ | ​ |  | ​ | ​ |  | ​
Federal | ​ |  | (3,047) | ​ |  | (1,687) | ​ |  | (248)
State | ​ |  | (79) | ​ |  | (111) | ​ |  | 108
Total income tax provision | ​ | $ | 10,367 | ​ | $ | 11,787 | ​ | $ | 7,382
Schedule of reconciliation between the federal statutory rate and effective tax rate | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | 2023 |  | 2022 |  | 2021 |
Federal statutory rate |  | 21.0 | % | 21.0 | % | 21.0 | %
State income taxes, net of federal benefit |  | 1.2 |  | 1.3 |  | 0.9 |
Research and experimentation credit |  | (1.3) |  | (0.7) |  | (0.9) |
Non-deductible expenses | ​ | (0.7) | ​ | 0.3 | ​ | (0.8) | ​
Change in contingencies |  | 0.5 |  | 0.8 |  | 0.4 |
Adjustments related to vesting of restricted stock |  | (0.1) |  | (0.1) |  | (1.0) |
Other |  | (0.7) |  | — |  | 0.7 |
Effective tax rate |  | 19.9 | % | 22.6 | % | 20.3 | %
Schedule of components of deferred tax assets and liabilities | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
December 31, |  | 2023 |  | 2022
(in thousands) |  | ​ |  |  | ​ |
Deferred tax assets: |  | ​ |  |  | ​ |
Warranty costs | ​ | $ | 1,557 | ​ | $ | 1,254
Sales incentives and discounts | ​ |  | 570 | ​ |  | 110
Stock-based compensation | ​ |  | 824 | ​ |  | 866
Long-term retirement plan | ​ |  | 3,960 | ​ |  | 3,099
Capitalized research and development | ​ | ​ | 2,900 | ​ | ​ | 1,300
All others, net | ​ |  | 465 | ​ |  | 490
Total deferred tax assets | ​ |  | 10,276 | ​ |  | 7,119
Deferred tax liabilities: | ​ |  |  | ​ |  |
Depreciation and amortization expense | ​ |  | (1,686) | ​ |  | (1,092)
Net deferred tax assets | ​ | $ | 8,590 | ​ | $ | 6,027
Schedule of unrecognized tax benefits | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
(in thousands) |  | 2023 |  | 2022
Balance at beginning of the year | ​ | $ | 1,058 | ​ | $ | 539
Additions based on tax positions related to the current year | ​ |  | 236 | ​ |  | 393
Additions for tax positions of prior years | ​ |  | 55 | ​ |  | 126
Balance at end of the year | ​ | $ | 1,349 | ​ | $ | 1,058

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

X
- Definition Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Paragraph 9 -Section 50 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9 + Details
Name: | us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Paragraph 2 -Section 50 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2 + Details
Name: | us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Paragraph 12 -Section 50 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12 + Details
Name: | us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the change in unrecognized tax benefits. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 217 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 740 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15A -Publisher FASB -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A + Details
Name: | us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration