Income Taxes - Uncertain Tax Position Rollforward (Details) - USD ($)  | 
12 Months Ended | |
|---|---|---|
Dec. 31, 2023  | 
Dec. 31, 2022  | 
|
| Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] | ||
| Beginning balances | $ 1,314,351 | $ 1,314,351 | 
| Increases related to tax positions taken during a prior year | 0 | 0 | 
| Decreases related to tax positions taken during a prior year | 0 | 0 | 
| Increases related to tax positions taken during a current year | 0 | 0 | 
| Decreases related to settlements with taxing authorities | 0 | 0 | 
| Decreases related to expiration of the statute of limitations | (138,585) | 0 | 
| Ending balances | $ 1,175,766 | $ 1,314,351 | 
| X | ||||||||||
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. No definition available. 
  | 
| X | ||||||||||
- Definition Amount of unrecognized tax benefits. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
  | 
| X | ||||||||||
- Definition Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
  | 
| X | ||||||||||
- Definition Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
  | 
| X | ||||||||||
- Definition Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
  | 
| X | ||||||||||
- Definition Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
  | 
| X | ||||||||||
- Definition Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
  |