| Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
| | | Three Months Ended | | | Six Months Ended | |
| | | June 30, | | | June 30, | | | June 30, | | | June 30, | |
| | | 2026 | | | 2025 | | | 2026 | | | 2025 | |
| Basic earnings per common share | | | | | | | | | | | | | | | | |
| Net income | | $ | 25,379 | | | $ | 25,954 | | | $ | 31,755 | | | $ | 26,102 | |
| Less: Distributed and undistributed earnings allocated to nonvested shares | | | 510 | | | | 592 | | | | 642 | | | | 599 | |
| Net income allocated to common shareholders | | $ | 24,869 | | | $ | 25,362 | | | $ | 31,113 | | | $ | 25,503 | |
| Weighted average common shares outstanding | | | 23,116,515 | | | | 23,131,151 | | | | 23,107,356 | | | | 23,126,379 | |
| | | $ | 1.08 | | | $ | 1.10 | | | $ | 1.35 | | | $ | 1.10 | |
| | | | | | | | | | | | | | | | | |
| Diluted earnings per common share | | | | | | | | | | | | | | | | |
| Net income allocated to common shareholders - basic | | $ | 24,869 | | | $ | 25,362 | | | $ | 31,113 | | | $ | 25,503 | |
| Add: Undistributed earnings allocated to nonvested shareholders | | | 370 | | | | 436 | | | | 364 | | | | 278 | |
| Net income allocated to common shareholders - diluted | | $ | 25,239 | | | $ | 25,798 | | | $ | 31,477 | | | $ | 25,781 | |
| Weighted average common shares outstanding - basic | | | 23,116,515 | | | | 23,131,151 | | | | 23,107,356 | | | | 23,126,379 | |
| Dilutive effect of participating securities | | | 473,523 | | | | 542,878 | | | | 481,424 | | | | 542,112 | |
| Weighted average common shares outstanding - diluted | | | 23,590,038 | | | | 23,674,029 | | | | 23,588,780 | | | | 23,668,491 | |
| | | $ | 1.07 | | | $ | 1.09 | | | $ | 1.33 | | | $ | 1.09 | |
|