XML 74 R63.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Derivative Instruments - Narrative (Details) - Foreign currency forward exchange contracts - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended |
--- | --- | --- | ---
Sep. 30, 2018 | Sep. 30, 2017 | Sep. 30, 2018 | Sep. 30, 2017 | Dec. 31, 2017
Derivative Instruments and Hedging Activities Disclosures [Line Items] |  |  |  |  |
Notional amount | $ 936,800 | $ 2,460,000 | $ 936,800 | $ 2,460,000 | $ 987,700
Maximum |  |  |  |  |
Derivative Instruments and Hedging Activities Disclosures [Line Items] |  |  |  |  |
Maximum term for foreign currency forward exchange contracts |  |  | 18 months |  |
Cost of sales | Derivatives designated as hedging instruments: |  |  |  |  |
Derivative Instruments and Hedging Activities Disclosures [Line Items] |  |  |  |  |
Amount of gain (loss) reclassified from accumulated OCI to statements of operations | (787) | (9,241) | $ (10,004) | (6,648) |
Derivative Instruments | Reclassification Out of Accumulated Other Comprehensive Income (Loss) | Cost of sales | Derivatives designated as hedging instruments: |  |  |  |  |
Derivative Instruments and Hedging Activities Disclosures [Line Items] |  |  |  |  |
Amount of gain (loss) reclassified from accumulated OCI to statements of operations | $ (800) | $ (9,200) | $ (10,000) | $ (6,600) |

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 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_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 4D -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 815 -SubTopic 10 -Section 50 -Paragraph 4C -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959 + Details
Name: | us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Period the derivative contract is outstanding, 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_DerivativeTermOfContract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember
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: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis=us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |