XML 63 R48.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Note 16 - Stock-based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2021
Notes Tables |
Stock-based compensation expense | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | 2021 |  | 2020 |  | 2019
​ | ​ | (dollars in thousands)
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Stock options | ​ | $ | 270 | ​ | $ | 297 | ​ | $ | 475
Restricted stock awards | ​ | ​ | 1,864 | ​ | ​ | 1,619 | ​ | ​ | 1,850
Stock purchase plan | ​ |  | 218 | ​ |  | 234 | ​ |  | 144
​ | ​ | $ | 2,352 | ​ | $ | 2,150 | ​ | $ | 2,469
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Summary of the stock option plans | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31,
​ | ​ | 2021 | ​ | 2020 | ​ | 2019
​ | ​ | ​ | ​ | ​ | Weighted | ​ | ​ | ​ | ​ | Weighted | ​ | ​ | ​ | ​ | Weighted
​ | ​ | ​ | ​ | ​ | Average | ​ | ​ | ​ | ​ | Average | ​ | ​ | ​ | ​ | Average
​ | ​ | ​ | ​ | ​ | Exercise | ​ | ​ | ​ | ​ | Exercise | ​ | ​ | ​ | ​ | Exercise
​ |  | Shares |  | Price |  | Shares |  | Price |  | Shares |  | Price
Outstanding, beginning | ​ | ​ | 407,763 | ​ | $ | 22.24 | ​ | ​ | 426,913 | ​ | $ | 20.14 | ​ | ​ | 469,572 | ​ | $ | 18.52
Granted |  | ​ | 22,150 | ​ |  | 43.61 |  | ​ | 23,350 | ​ |  | 39.12 |  | ​ | 20,200 | ​ |  | 36.00
Exercised |  | ​ | (60,317) | ​ |  | 15.76 |  | ​ | (41,650) | ​ |  | 10.67 |  | ​ | (59,393) | ​ |  | 12.11
Forfeited |  | ​ | (1,598) | ​ |  | 38.50 |  | ​ | (850) | ​ |  | 19.94 |  | ​ | (3,466) | ​ |  | 31.59
Outstanding, ending |  | ​ | 367,998 | ​ |  | 24.46 |  | ​ | 407,763 | ​ |  | 22.24 |  | ​ | 426,913 | ​ |  | 20.14
​ |  | ​ |  | ​ |  |  |  | ​ |  | ​ |  |  |  | ​ |  | ​ |  |
Exercisable, ending |  | ​ | 318,266 | ​ |  |  |  | ​ | 354,899 | ​ |  |  |  | ​ | 365,084 | ​ |  |
​ |  | ​ |  | ​ |  |  |  | ​ |  | ​ |  |  |  | ​ |  | ​ |  |
Weighted average fair value per option granted | ​ | $ | 10.85 | ​ |  |  | ​ | $ | 10.07 | ​ |  |  | ​ | $ | 11.29 | ​ |  |
Summary of options outstanding | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Options Outstanding | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Weighted | ​ | ​ | ​ | ​ | Options Exercisable
​ | ​ | ​ | ​ | Average | ​ | Weighted | ​ | ​ | ​ | Weighted
​ | ​ | ​ | ​ | Remaining | ​ | Average | ​ | ​ | ​ | Average
Range of | ​ | Number | ​ | Contractual | ​ | Exercise | ​ | Number | ​ | Exercise
Exercise Prices |  | Outstanding |  | Life |  | Price |  | Exercisable |  | Price
$9.30 | ​ | 29,406 | ​ | 0.08 | ​ | $ | 9.30 | ​ | 29,406 | ​ | $ | 9.30
$15.50 to $15.65 |  | 64,106 |  | 1.25 | ​ |  | 15.64 |  | 64,066 | ​ |  | 15.64
$17.10 to $18.00 |  | 110,499 |  | 2.57 | ​ |  | 17.31 |  | 110,459 | ​ |  | 17.31
$22.64 to $29.77 |  | 55,216 |  | 4.20 | ​ |  | 22.83 |  | 53,716 | ​ |  | 22.64
$36.00 to $41.95 |  | 37,834 |  | 7.66 | ​ |  | 38.25 |  | 14,360 | ​ |  | 37.84
$42.65 to $48.50 |  | 70,937 |  | 6.59 | ​ |  | 43.78 |  | 46,259 | ​ |  | 43.84
​ |  | 367,998 |  |  | ​ |  |  |  | 318,266 | ​ |  |
​ |  | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ |  |
Summary of changes in nonvested restricted stock awards | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31,
​ |  | 2021 |  | 2020 |  | 2019
Outstanding, beginning | ​ | ​ | 102,489 | ​ | ​ | 106,826 | ​ | ​ | 64,099
Granted* | ​ |  | 38,360 | ​ |  | 34,559 | ​ |  | 85,961
Released | ​ |  | (43,691) | ​ |  | (37,296) | ​ |  | (37,624)
Forfeited | ​ |  | (51) | ​ |  | (1,600) | ​ |  | (5,610)
Outstanding, ending | ​ | ​ | 97,107 | ​ | ​ | 102,489 | ​ | ​ | 106,826
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Weighted average fair value per share granted | ​ | $ | 45.18 | ​ | $ | 39.39 | ​ | $ | 20.14
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ * At December 31, 2021, includes 12,412 shares of restricted stock, 25,948 restricted stock units. At December 31, 2020, includes 8,913 shares of restricted stock and 25,646 restricted stock units. At December 31, 2019, includes 18,634 shares of restricted stock, 49,269 restricted stock units and 18,058 restricted stock units. ​
Schedule of Stock purchase plan | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | 2021 |  | 2020 |  | 2019
Shares granted |  | ​ | 28,396 |  | ​ | 38,738 |  | ​ | 29,882
Shares purchased |  | ​ | 30,543 |  | ​ | 37,114 |  | ​ | 28,775
Weighted average fair value per share granted | ​ | $ | 7.67 | ​ | $ | 6.03 | ​ | $ | 4.81

X
- Definition Tabular disclosure of share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the changes in outstanding nonvested restricted stock shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of employee stock purchase plan activity. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
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