XML 27 R10.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Note 4 - Net Income Per Common Share | 12 Months Ended
--- | ---
Dec. 31, 2021
Notes to Financial Statements |
Earnings Per Share [Text Block] | Note 4 – Net Income Per Common Share Basic net income per share is computed based on the weighted average number of common shares outstanding. Diluted net income per share is computed based on the weighted average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had the potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options and other stock-based awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. For the year ended December 31, 2021, 113,043 anti-dilutive options were excluded from the calculation of diluted weighted average shares outstanding. The following table presents the calculation of net income per basic and diluted share attributable to common shareholders:
|  | Year Ended December 31, |
(in thousands, except share and per share amounts) |  | 2021 |  |  | 2020 |  |  | 2019 |
Net Income |  | $ | 33,372 |  |  | $ | 50,867 |  |  | $ | 63,655 |
Basic - weighted-average shares outstanding: |  |  | 27,617,627 |  |  |  | 26,737,425 |  |  |  | 26,866,985 |
Effect of dilutive securities: |  |  |  |  |  |  |  |  |  |  |  |
Employee stock options and other |  |  | 35,472 |  |  |  | 158,932 |  |  |  | 182,438 |
Diluted - weighted-average shares outstanding: |  |  | 27,653,099 |  |  |  | 26,896,357 |  |  |  | 27,049,423 |
Net income per share attributable to common shareholders: |  |  |  |  |  |  |  |  |  |  |  |
Basic |  | $ | 1.21 |  |  | $ | 1.90 |  |  | $ | 2.37 |
Diluted |  | $ | 1.21 |  |  | $ | 1.89 |  |  | $ | 2.35 |

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 -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -URI http://asc.fasb.org/topic&trid=2144383 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration