XML 25 R11.htm IDEA: XBRL DOCUMENT
v3.24.2.u1

Note 2 - Income Per Share | 6 Months Ended
--- | ---
Jun. 30, 2024
Notes to Financial Statements |
Earnings Per Share [Text Block] |
Note 2. | Income Per Share
Basic income per share excludes dilution and is computed by dividing earnings available to common stockholders by the weighted-average number of common shares outstanding for the period. Diluted income per share reflects the dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in our earnings. There were approximately 64,000 and 71,000 shares issuable upon conversion of unvested restricted shares for the three and six months ended June 30, 2024, respectively, and 235,000 and 251,000 shares issuable upon conversion of unvested restricted shares for the three and six months ended June 30, 2023, respectively. There were no unvested shares excluded from the calculation of diluted earnings per share as anti-dilutive for either of the three and six months ended June 30, 2024 and 2023. There were approximately 621,000 and 614,000 shares issuable upon conversion of unvested employee stock options for the three and six months ended June 30, 2024, respectively, and 400,000 and 365,000 shares issuable upon conversion of unvested employee stock options for the three and six months ended June 30, 2023, respectively. There were no unvested employee stock options excluded from the calculation of diluted earnings per share as anti-dilutive for the three and six months ended June 30, 2024, respectively, and no and 35,000 unvested employee stock options excluded from the calculation of diluted earnings per share as anti-dilutive for the three and six months ended June 30, 2023, respectively. Income per share is the same for both Class A and Class B shares. The following table sets forth, for the periods indicated, the calculation of net income per share included in the condensed consolidated statements of operations:
(in thousands except per share data) |  | Three Months Ended |  |  | Six Months Ended |
|  | June 30, |  |  | June 30, |
|  | 2024 |  |  | 2023 |  |  | 2024 |  |  | 2023 |
Numerators: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 12,044 |  |  | $ | 12,143 |  |  | $ | 15,868 |  |  | $ | 28,628 |
Income from discontinued operations |  |  | 150 |  |  |  | 150 |  |  |  | 300 |  |  |  | 300 |
Net income |  | $ | 12,194 |  |  | $ | 12,293 |  |  | $ | 16,168 |  |  | $ | 28,928 |
Denominator: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Denominator for basic income per share – weighted-average shares |  |  | 13,146 |  |  |  | 12,939 |  |  |  | 13,117 |  |  |  | 13,150 |
Effect of dilutive securities: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Equivalent shares issuable upon conversion of unvested restricted shares |  |  | 64 |  |  |  | 235 |  |  |  | 71 |  |  |  | 251 |
Equivalent shares issuable upon conversion of unvested employee stock options |  |  | 621 |  |  |  | 400 |  |  |  | 614 |  |  |  | 365 |
Denominator for diluted income per share adjusted weighted-average shares and assumed conversions |  |  | 13,831 |  |  |  | 13,574 |  |  |  | 13,802 |  |  |  | 13,766 |
Basic income per share(1): |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 0.92 |  |  | $ | 0.94 |  |  | $ | 1.21 |  |  | $ | 2.18 |
Income from discontinued operations |  |  | 0.01 |  |  |  | 0.01 |  |  |  | 0.02 |  |  |  | 0.02 |
Net income per share |  | $ | 0.93 |  |  | $ | 0.95 |  |  | $ | 1.23 |  |  | $ | 2.20 |
Diluted income per share: (1) |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 0.87 |  |  | $ | 0.90 |  |  | $ | 1.15 |  |  | $ | 2.08 |
Income from discontinued operations |  |  | 0.01 |  |  |  | 0.01 |  |  |  | 0.02 |  |  |  | 0.02 |
Net income per share |  | $ | 0.88 |  |  | $ | 0.91 |  |  | $ | 1.17 |  |  | $ | 2.10 |
(1) | Total may not sum due to rounding.

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
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