Contracts in Progress (Tables)  | 
12 Months Ended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec. 31, 2023  | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Contracts in Progress [Abstract] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Billings in Excess of Costs and Estimated Earnings and Costs and Estimated Earnings in Excess of Billings | 
Billings in excess of costs and estimated earnings as of December 31, 2023 and 2022 are as follows: 
 
 
 
 
 Costs and estimated earnings in excess of billings as of December 31, 2023 and 2022 are as follows: 
 
 
  | 
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| X | ||||||||||
- Definition Contracts In Progress [Abstract] No definition available. 
  | 
| X | ||||||||||
- Definition Tabular disclosure of long-term contract or program. No definition available. 
  |