Revenue (Disaggregation of revenue) (Details) - USD ($) $ in Thousands | 3 Months Ended |
Mar. 31, 2021 | Mar. 31, 2020 |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | $ 526,022 | $ 533,005 |
Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 505,721 | 514,964 |
Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 95,452 | 102,826 |
Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 89,381 | 119,200 |
Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 108,190 | 117,976 |
Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 113,110 | 82,720 |
Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 43,686 | 36,601 |
Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 55,902 | 55,641 |
Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 20,301 | 18,041 |
Americas [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 276,838 | 314,396 |
Americas [Member] | Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 266,069 | 303,508 |
Americas [Member] | Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 20,996 | 33,945 |
Americas [Member] | Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 83,487 | 113,012 |
Americas [Member] | Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 47,424 | 69,379 |
Americas [Member] | Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 48,866 | 30,449 |
Americas [Member] | Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 35,338 | 30,074 |
Americas [Member] | Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 29,958 | 26,649 |
Americas [Member] | Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 10,769 | 10,888 |
Asia [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 188,304 | 171,609 |
Asia [Member] | Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 179,022 | 164,906 |
Asia [Member] | Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 55,410 | 48,225 |
Asia [Member] | Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 40,784 | 44,203 |
Asia [Member] | Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 48,761 | 37,292 |
Asia [Member] | Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 8,348 | 6,527 |
Asia [Member] | Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 25,719 | 28,659 |
Asia [Member] | Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 9,282 | 6,703 |
Europe [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 60,880 | 47,000 |
Europe [Member] | Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 60,630 | 46,550 |
Europe [Member] | Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 19,046 | 20,656 |
Europe [Member] | Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 5,894 | 6,188 |
Europe [Member] | Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 19,982 | 4,394 |
Europe [Member] | Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 15,483 | 14,979 |
Europe [Member] | Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 225 | 333 |
Europe [Member] | Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | $ 250 | $ 450 |