XML 53 R34.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Note 14 - Net Income Per Share (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2021
Notes Tables |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
|  | Year Ended December 31, |
|  | 2021 |  |  | 2020 |  |  | 2019 |
|  | (in thousands, except per share data) |
Numerator: |  |  |  |  |  |  |  |  |  |  |  |
Net income |  | $ | 70,960 |  |  | $ | 91,572 |  |  | $ | 69,336 |
Denominator: |  |  |  |  |  |  |  |  |  |  |  |
Basic weighted average shares |  |  | 39,030 |  |  |  | 39,167 |  |  |  | 39,075 |
Effect of potentially dilutive shares: |  |  |  |  |  |  |  |  |  |  |  |
Stock options |  |  | 863 |  |  |  | 1,262 |  |  |  | 1,806 |
Restricted stock units |  |  | 224 |  |  |  | 311 |  |  |  | 403 |
Employee stock purchase plan |  |  | 1 |  |  |  | — |  |  |  | — |
Diluted weighted average shares |  | $ | 40,118 |  |  | $ | 40,740 |  |  | $ | 41,284 |
Net income per share: |  |  |  |  |  |  |  |  |  |  |  |
Basic |  | $ | 1.82 |  |  | $ | 2.34 |  |  | $ | 1.77 |
Diluted |  | $ | 1.77 |  |  | $ | 2.25 |  |  | $ | 1.68 |
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] |
|  | Year Ended December 31, |
|  | 2021 |  |  | 2020 |  |  | 2019 |
|  | (in thousands) |
Stock options |  |  | 534 |  |  |  | 532 |  |  |  | 460 |
Restricted stock units |  |  | 61 |  |  |  | 52 |  |  |  | 52 |
Total anti-dilutive shares |  |  | 595 |  |  |  | 584 |  |  |  | 512 |

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
- References No definition available. + Details
Name: | us-gaap_TableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration