Revenue (Disaggregation of revenue) (Details) - USD ($) $ in Thousands | 3 Months Ended |
Mar. 31, 2022 | Mar. 31, 2021 |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | $ 663,167 | $ 526,022 |
Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 636,083 | 505,721 |
Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 137,146 | 95,452 |
Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 81,187 | 89,381 |
Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 116,873 | 108,190 |
Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 183,437 | 113,110 |
Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 55,056 | 43,686 |
Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 62,384 | 55,902 |
Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 27,084 | 20,301 |
Americas [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 305,580 | 276,838 |
Americas [Member] | Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 293,869 | 266,069 |
Americas [Member] | Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 18,726 | 20,996 |
Americas [Member] | Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 68,701 | 83,487 |
Americas [Member] | Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 67,979 | 47,424 |
Americas [Member] | Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 66,323 | 48,866 |
Americas [Member] | Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 44,626 | 35,338 |
Americas [Member] | Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 27,514 | 29,958 |
Americas [Member] | Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 11,711 | 10,769 |
Asia [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 287,246 | 188,304 |
Asia [Member] | Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 272,479 | 179,022 |
Asia [Member] | Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 84,458 | 55,410 |
Asia [Member] | Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 7,015 | 0 |
Asia [Member] | Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 38,993 | 40,784 |
Asia [Member] | Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 96,818 | 48,761 |
Asia [Member] | Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 10,430 | 8,348 |
Asia [Member] | Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 34,765 | 25,719 |
Asia [Member] | Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 14,767 | 9,282 |
Europe [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 70,341 | 60,880 |
Europe [Member] | Operating Segments [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 69,735 | 60,630 |
Europe [Member] | Operating Segments [Member] | Industrials Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 33,962 | 19,046 |
Europe [Member] | Operating Segments [Member] | Aerospace And Defense Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 5,471 | 5,894 |
Europe [Member] | Operating Segments [Member] | Medical Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 9,901 | 19,982 |
Europe [Member] | Operating Segments [Member] | Semi-Cap Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 20,296 | 15,483 |
Europe [Member] | Operating Segments [Member] | Computing Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 0 | 0 |
Europe [Member] | Operating Segments [Member] | Telecommunications Sector [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | 105 | 225 |
Europe [Member] | Elimination Of Intersegment Sales [Member] | | |
Disaggregation Of Revenue [Line Items] | | |
Revenue from Contract with Customer, Excluding Assessed Tax | $ 606 | $ 250 |