XML 80 R67.htm IDEA: XBRL DOCUMENT
v3.19.2

Leases - Additional Information (Details) $ in Millions | 6 Months Ended
--- | ---
Jun. 30, 2019 USD ($)
Leases [Abstract] |
Option to extend lease period | 30 years
Option to terminate lease period | 1 year
Percentage of leased real estate of total lease obligation | 75.00%
Additional leases that have not yet commenced | $ 218
Minimum |
Lessee, Lease, Description [Line Items] |
Term of leases that have not yet commenced | 1 year
Maximum |
Lessee, Lease, Description [Line Items] |
Term of leases that have not yet commenced | 20 years

X
- Definition Lessee, Lease Not yet Commenced, Amount + References No definition available. + Details
Name: | gd_LesseeLeaseNotyetCommencedAmount
Namespace Prefix: | gd_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Lessee, Lease Not yet Commenced, Term of Contract + References No definition available. + Details
Name: | gd_LesseeLeaseNotyetCommencedTermofContract
Namespace Prefix: | gd_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Lessee, Option to Terminate + References No definition available. + Details
Name: | gd_LesseeOptiontoTerminate
Namespace Prefix: | gd_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Lessee, Renewal Term + References No definition available. + Details
Name: | gd_LesseeRenewalTerm
Namespace Prefix: | gd_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of Real Estate Leased to Total Lease Liability + References No definition available. + Details
Name: | gd_PercentageofRealEstateLeasedtoTotalLeaseLiability
Namespace Prefix: | gd_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_LeasesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_LesseeLeaseDescriptionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |