Revenue - Revenue Performance Obligations (Percentage and Remaining Period of Time) (Details)
Jun. 28, 2019
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-06-29  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, percentage 47.00%
Revenue,expected performance obligation, period 6 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, percentage 53.00%
Revenue,expected performance obligation, period 1 year