XML 29 R18.htm IDEA: XBRL DOCUMENT
v3.24.2.u1

Net Income Per Share | 6 Months Ended
--- | ---
Jun. 30, 2024
Earnings Per Share [Abstract] |
Net Income Per Share | 12. Net Income Per Share Basic net income per share is computed on the basis of the weighted-average number of common shares outstanding during the period. Diluted net income per share is computed based upon the weighted-average number of common shares outstanding during the period plus the assumed issuance of common shares for all potentially dilutive securities. The net income used in the calculation of basic and diluted net income per share is as follows:
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three months ended June 30, | ​ | Six months ended June 30,
​ |  | 2024 |  | 2023 |  | 2024 |  | 2023
Net income | ​ | $ | 815,660 | ​ | $ | 430,589 | ​ | $ | 2,322,556 | ​ | $ | 3,960,416
​ In calculating the net income per share, basic and diluted, the following weighted-average shares were used:
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three months ended June 30, | ​ | Six months ended June 30,
​ |  | 2024 |  | 2023 |  | 2024 |  | 2023
Basic weighted-average number of shares outstanding | ​ | 21,921,752 | ​ | 22,749,322 | ​ | 21,957,980 | ​ | 22,869,440
Dilutive stock options | ​ | — | ​ | 2,027 | ​ | — | ​ | 5,394
Unvested time-based restricted shares |  | 107,723 |  | 23,892 |  | 29,162 |  | 22,338
Unvested performance-based restricted shares |  | — |  | 8,746 |  | — |  | 7,750
Diluted weighted-average shares outstanding |  | 22,029,475 |  | 22,783,987 |  | 21,987,142 |  | 22,904,922
​ The Company excluded the following shares from the diluted EPS because their inclusion would have been anti-dilutive.
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Three months ended June 30, | ​ | Six months ended June 30,
​ |  | 2024 |  | 2023 |  | 2024 |  | 2023
Anti-dilutive options | ​ | — | ​ | 67,973 | ​ | — | ​ | 64,606
Anti-dilutive unvested time-based restricted shares | ​ | 492,463 | ​ | 274,318 | ​ | 512,389 | ​ | 275,872
Anti-dilutive unvested performance-based restricted shares | ​ | — | ​ | 7,087 | ​ | — | ​ | 8,083
Total Anti-dilutive shares |  | 492,463 |  | 349,378 |  | 512,389 |  | 348,561
​ ​

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 The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org//260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration