Quarterly report [Sections 13 or 15(d)]

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

v3.25.2
Nature of Operations and Summary of Significant Accounting Policies - Earnings (Loss) Per Common Share (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
Accounting Policies [Abstract]            
Net (loss) from continuing operations $ (989,635)   $ (1,710,023)   $ (1,495,656) $ (2,108,942)
Net income (loss) from discontinued operations 1,082,998   (1,886,375)   2,556,815 (540,477)
Net income (loss) $ 93,363 $ 967,796 $ (3,596,398) $ 946,979 $ 1,061,159 $ (2,649,419)
Weighted average common shares outstanding - basic (in shares) 15,326,317   14,950,082   15,256,755 14,875,718
Effect of dilutive securities:            
Unvested restricted stock and stock options (in shares) 74,091   256,156   71,443 235,018
Weighted average common shares outstanding - diluted (in shares) 15,400,408   15,206,238   15,328,198 15,110,736
Basic income (loss) earnings per share:            
Continuing Operations (in dollars per share) $ (0.06)   $ (0.11)   $ (0.10) $ (0.14)
Discontinued Operations (in dollars per share) 0.07   (0.13)   0.17 (0.04)
Basic net income (loss) per share (in dollars per share) 0.01   (0.24)   0.07 (0.18)
Diluted income (loss) earnings per share            
Continuing Operations (in dollars per share) (0.06)   (0.11)   (0.10) (0.14)
Discontinued Operation (in dollars per share) 0.07   (0.12)   0.17 (0.04)
Diluted net income (loss) per share (in dollars per share) $ 0.01   $ (0.24)   $ 0.07 $ (0.18)
Securities excluded from the computation of diluted earnings (loss) per share:            
Antidilutive securities (in shares) 81,153   80,132   76,825 82,722