XML 46 R29.htm IDEA: XBRL DOCUMENT
v3.23.1

Net Income Per Share (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2022
Net Income Per Share |
Schedule of net income used in the calculation of basic and diluted net income per share | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Year ended December 31,
​ |  | 2022 |  | 2021
Net income available to shareholders | ​ | $ | 35,354,679 | ​ | $ | 11,627,517
​
Schedule of weighted-average shares used in calculation of net income per share | ​
​ | ​ | ​ | ​ | ​
​ | ​ | Year ended December 31,
​ |  | 2022 |  | 2021
Basic weighted-average number of shares outstanding | ​ | 23,319,633 | ​ | 23,705,193
Dilutive stock options | ​ | 15,831 | ​ | —
Unvested time-based restricted shares |  | — |  | 82,958
Unvested performance-based restricted shares |  | 70,725 |  | 68,951
Diluted weighted average shares outstanding |  | 23,406,189 |  | 23,857,102
​
Schedule of anti-dilutive shares | ​
​ | ​ | ​ | ​ | ​
​ | ​ | Year ended December 31,
​ |  | 2022 |  | 2021
Anti-dilutive options | ​ | 54,169 | ​ | 218,750
Anti-dilutive unvested time-based restricted shares | ​ | 273,448 | ​ | 83,044
Anti-dilutive unvested performance-based restricted shares | ​ | 28,519 | ​ | 82,549
Total Anti-dilutive shares |  | 356,136 |  | 384,343

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

X
- Definition Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 + Details
Name: | us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257 + Details
Name: | us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration