XML 64 R51.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Note 20 - Stock-based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Notes Tables |
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] |
|  | For the Year Ended December 31, |
|  | 2023 |  |  | 2022 |  |  | 2021 |
Dividend yield |  |  | 3.25 | % |  |  | 2.59 | % |  |  | 1.58 | %
Expected volatility |  |  | 28.24 | % |  |  | 26.86 | % |  |  | 37.10 | %
Risk-free interest rate |  |  | 4.35 | % |  |  | 2.88 | % |  |  | 1.01 | %
Expected term in years |  |  | 6.5 |  |  |  | 6.5 |  |  |  | 6.5 |
Weighted-average grant date fair value per option granted |  | $ | 7.61 |  |  | $ | 7.13 |  |  | $ | 10.67 |
Share-Based Payment Arrangement, Option, Activity [Table Text Block] |
|  |  |  |  |  |  |  |  |  | Weighted-Average |  |  |  |  |
|  |  |  |  |  | Weighted- |  |  | Remaining |  |  |  |  |
|  |  |  |  |  | Average |  |  | Contractual Term In |  |  | Aggregate |
|  | Shares |  |  | Exercise Price |  |  | Years |  |  | Intrinsic Value |
Outstanding at January 1, 2021 |  |  | 671,754 |  |  | $ | 19.45 |  |  |  | 6.58 |  |  | $ | 5,721,159 |
Granted |  |  | 118,850 |  |  | $ | 35.46 |  |  |  | — |  |  |  | — |
Less exercised |  |  | 176,978 |  |  | $ | 12.73 |  |  |  | — |  |  | $ | 4,265,369 |
Forfeited or expired |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |
Outstanding at December 31, 2021 |  |  | 613,626 |  |  | $ | 25.24 |  |  |  | 7.17 |  |  | $ | 5,362,902 |
Outstanding at January 1, 2022 |  |  | 613,626 |  |  | $ | 25.24 |  |  |  | 7.17 |  |  | $ | 5,362,902 |
Granted |  |  | 99,200 |  |  | $ | 30.94 |  |  |  | — |  |  |  | — |
Less exercised |  |  | 64,994 |  |  | $ | 19.75 |  |  |  | — |  |  | $ | 790,558 |
Forfeited or expired |  |  | — |  |  |  | — |  |  |  | — |  |  |  | — |
Outstanding at December 31, 2022 |  |  | 647,832 |  |  | $ | 26.67 |  |  |  | 6.84 |  |  | $ | 4,627,255 |
Outstanding at January 1, 2023 |  |  | 647,832 |  |  | $ | 26.67 |  |  |  | 6.84 |  |  | $ | 4,627,255 |
Granted |  |  | 103,000 |  |  | $ | 30.73 |  |  |  | — |  |  |  | — |
Less exercised |  |  | 47,734 |  |  | $ | 10.17 |  |  |  | — |  |  | $ | 970,064 |
Forfeited or expired |  |  | 40,819 |  |  | $ | 32.96 |  |  |  | — |  |  |  | — |
Outstanding at December 31, 2023 |  |  | 662,279 |  |  | $ | 28.12 |  |  |  | 6.69 |  |  | $ | 5,852,975 |
Expected to vest, assuming a 0.31% annual forfeiture rate at December 31, 2023 (1) |  |  | 650,507 |  |  | $ | 28.10 |  |  |  | 6.60 |  |  | $ | 5,761,706 |
Exercisable at December 31, 2023 |  |  | 383,462 |  |  | $ | 26.94 |  |  |  | 5.52 |  |  | $ | 3,842,104 |
Nonvested Restricted Stock Shares Activity [Table Text Block] |
|  |  |  |  |  | Weighted-Average |
|  |  |  |  |  | Grant-Date Fair Value |
Nonvested Shares |  | Shares |  |  | Per Share |
Nonvested at January 1, 2021 |  |  | 110,184 |  |  | $ | 24.35 |
Granted |  |  | 41,350 |  |  |  | 35.46 |
Less vested |  |  | 29,862 |  |  |  | 24.78 |
Forfeited or expired |  |  | — |  |  |  | — |
Nonvested at December 31, 2021 |  |  | 121,672 |  |  | $ | 28.02 |
Nonvested at January 1, 2022 |  |  | 121,672 |  |  | $ | 28.02 |
Granted |  |  | 35,050 |  |  |  | 30.94 |
Less vested |  |  | 38,192 |  |  |  | 28.12 |
Forfeited or expired |  |  | — |  |  |  | — |
Nonvested at December 31, 2022 |  |  | 118,530 |  |  | $ | 28.85 |
Nonvested at January 1, 2023 |  |  | 118,530 |  |  | $ | 28.85 |
Granted |  |  | 37,600 |  |  |  | 30.73 |
Less vested |  |  | 44,462 |  |  |  | 28.24 |
Forfeited or expired |  |  | 9,524 |  |  |  | 30.96 |
Nonvested at December 31, 2023 |  |  | 102,144 |  |  | $ | 29.61 |

X
- Definition Tabular disclosure of the changes in outstanding nonvested restricted stock shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Subparagraph (c) -Paragraph 2 -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock
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 -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d) -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e) -SubTopic 10 -Topic 718 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Subparagraph (f)(2) -Name Accounting Standards Codification -Paragraph 2 -Section 50 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
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