XML 66 R51.htm IDEA: XBRL DOCUMENT
v3.25.1

Note 20 - Stock-based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Notes Tables |
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] |
|  | December 31, |
|  | 2024 |  |  | 2023 |  |  | 2022 |
Dividend yield |  |  | 2.57 | % |  |  | 3.25 | % |  |  | 2.59 | %
Expected volatility |  |  | 29.55 | % |  |  | 28.24 | % |  |  | 26.86 | %
Risk-free interest rate |  |  | 3.82 | % |  |  | 4.35 | % |  |  | 2.88 | %
Expected term in years |  |  | 6.3 |  |  |  | 6.5 |  |  |  | 6.5 |
Weighted-average grant date fair value per option granted |  | $ | 11.36 |  |  | $ | 7.61 |  |  | $ | 7.13 |
Share-Based Payment Arrangement, Option, Activity [Table Text Block] |
|  |  |  |  |  |  |  |  |  | Weighted- |  |  |  |  |
|  |  |  |  |  |  |  |  |  | Average |  |  |  |  |
|  |  |  |  |  | Weighted- |  |  | Remaining |  |  | Aggregate |
|  |  |  |  |  | Average |  |  | Contractual |  |  | Intrinsic |
|  | Shares |  |  | Exercise Price |  |  | Term In Years |  |  | Value |
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 |
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 |
Less forfeited |  |  | 40,819 |  |  |  | 32.96 |  |  |  | — |  |  |  | — |
Outstanding at December 31, 2023 |  |  | 662,279 |  |  | $ | 28.12 |  |  |  | 6.69 |  |  | $ | 5,852,975 |
Outstanding at January 1, 2024 |  |  | 662,279 |  |  | $ | 28.12 |  |  |  | 6.69 |  |  | $ | 5,852,975 |
Granted |  |  | 75,100 |  |  |  | 41.98 |  |  |  | 9.62 |  |  |  | — |
Less exercised |  |  | 187,478 |  |  |  | 23.69 |  |  |  | — |  |  |  | 3,916,425 |
Less forfeited |  |  | 12,000 |  |  |  | 30.73 |  |  |  | — |  |  |  | — |
Outstanding at December 31, 2024 |  |  | 537,901 |  |  | $ | 31.55 |  |  |  | 6.75 |  |  | $ | 5,187,207 |
Expected to vest, assuming a 0.31% annual forfeiture rate at, December 31, 2024 (1) |  |  | 524,787 |  |  | $ | 31.46 |  |  |  | 6.70 |  |  |  | 5,104,755 |
Exercisable at December 31, 2024 |  |  | 296,643 |  |  | $ | 29.55 |  |  |  | 5.58 |  |  | $ | 3,414,456 |
Nonvested Restricted Stock Shares Activity [Table Text Block] |
|  |  |  |  |  | Weighted-Average |
|  |  |  |  |  | Grant-Date |
|  |  |  |  |  | Fair Value |
Nonvested Shares |  | Shares |  |  | Per Share |
Nonvested at January 1, 2022 |  |  | 121,672 |  |  | $ | 28.02 |
Granted |  |  | 35,050 |  |  |  | 30.94 |
Less vested |  |  | 38,192 |  |  |  | 28.12 |
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 |
Nonvested at January 1, 2024 |  |  | 102,144 |  |  | $ | 29.61 |
Granted |  |  | 42,250 |  |  |  | 41.98 |
Less vested |  |  | 37,331 |  |  |  | 28.46 |
Less forfeited |  |  | 4,000 |  |  |  | 30.73 |
Nonvested at December 31, 2024 |  |  | 103,063 |  |  | $ | 35.05 |

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 -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -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