Quarterly report [Sections 13 or 15(d)]

Nature of Operations and Summary of Significant Accounting Policies - Earnings (Loss) Per Common Share (Details)

v3.25.3
Nature of Operations and Summary of Significant Accounting Policies - Earnings (Loss) Per Common Share (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2025
Jun. 30, 2025
Mar. 31, 2025
Sep. 30, 2024
Jun. 30, 2024
Mar. 31, 2024
Sep. 30, 2025
Sep. 30, 2024
Accounting Policies [Abstract]                
Net income (loss) from continuing operations $ 290,370     $ (414,383)     $ (1,205,286) $ (2,523,325)
Net income (loss) from discontinued operations 564,639     (2,750,756)     3,121,454 (3,291,233)
Net income (loss) $ 855,009 $ 93,363 $ 967,796 $ (3,165,139) $ (3,596,398) $ 946,979 $ 1,916,168 $ (5,814,558)
Weighted average common shares outstanding - basic (in shares) 15,344,844     14,959,132     15,281,775 14,903,726
Effect of dilutive securities:                
Unvested restricted stock and stock options (in shares) 53,750     233,247     67,169 234,422
Weighted average common shares outstanding - diluted (in shares) 15,398,594     15,192,379     15,348,944 15,138,148
Basic income (loss) earnings per share:                
Continuing Operations (in dollars per share) $ 0.02     $ (0.03)     $ (0.08) $ (0.17)
Discontinued Operations (in dollars per share) 0.04     (0.18)     0.20 (0.22)
Basic net income (loss) per share (in dollars per share) 0.06     (0.21)     0.12 (0.39)
Diluted income (loss) earnings per share                
Continuing Operations (in dollars per share) 0.02     (0.03)     (0.08) (0.17)
Discontinued Operation (in dollars per share) 0.04     (0.18)     0.20 (0.22)
Diluted net income (loss) per share (in dollars per share) $ 0.06     $ (0.21)     $ 0.12 $ (0.39)
Securities excluded from the computation of diluted earnings (loss) per share:                
Antidilutive stock options (in shares) 68,221     78,764     76,795 81,363