XML 61 R51.htm IDEA: XBRL DOCUMENT
v3.19.1

Derivative Financial Instruments - Additional Information (Details) - USD ($) $ in Billions | 3 Months Ended |
--- | --- | ---
Mar. 31, 2019 | Dec. 31, 2018
Derivative [Line Items] |  |
Notional amounts on foreign currency exchange contracts | $ 2.5 | $ 2.2
Maximum |  |
Derivative [Line Items] |  |
Maturity on derivative instruments | 18 months |
Estimate of time to transfer | 12 months |

X
- Definition Aggregate notional amount specified by the derivative(s). Expressed as an absolute value. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-X (SX) -Number 210 -Article 12 -Section 13 -Sentence Column B + Details
Name: | invest_DerivativeNotionalAmount
Namespace Prefix: | invest_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | instant

X
- Definition Estimated period for the anticipated transfer of gain (loss), net, from accumulated other comprehensive income into earnings, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimateOfTimeToTransfer1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
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_DerivativeLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period remaining until the derivative contract matures, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_DerivativeRemainingMaturity1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

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