Condensed Consolidated Unaudited Statements of Shareholders' Equity - USD ($) $ in Thousands | Total | Peirce-Phelps, Inc. | Dunphey & Associates Supply Co., Inc. | Common StockPeirce-Phelps, Inc. | Common StockDunphey & Associates Supply Co., Inc. | Common Stock, Class B Common Stock and Preferred Stock | Paid-In Capital | Paid-In CapitalPeirce-Phelps, Inc. | Paid-In CapitalDunphey & Associates Supply Co., Inc. | Accumulated Other Comprehensive Loss | Retained Earnings | Treasury Stock | Non-controlling Interest |
Beginning balance at Dec. 31, 2017 | $ 1,550,977 | | | | | $ 21,050 | $ 804,008 | | | $ (34,221) | $ 594,556 | $ (87,440) | $ 253,024 |
Beginning balance (in shares) at Dec. 31, 2017 | | | | | | 37,228,715 | | | | | | | |
Cumulative-effect adjustment at Dec. 31, 2017 | | | | | | | | | | 301 | (301) | | |
Net income | 42,377 | | | | | | | | | | 34,219 | | 8,158 |
Other comprehensive income (loss) | (5,741) | | | | | | | | | (3,649) | | | (2,092) |
Issuances of non-vested restricted shares of common stock | | | | | | $ 46 | (46) | | | | | | |
Issuances of non-vested restricted shares of common stock (in shares) | | | | | | 91,609 | | | | | | | |
Forfeitures of non-vested restricted shares of common stock | | | | | | $ (2) | 2 | | | | | | |
Forfeitures of non-vested restricted shares of common stock (in shares) | | | | | | (3,000) | | | | | | | |
Common stock contribution to 401(k) plan | 2,945 | | | | | $ 9 | 2,936 | | | | | | |
Common stock contribution to 401(k) plan (in shares) | | | | | | 17,318 | | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan | 4,341 | | | | | $ 19 | 4,322 | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan (in shares) | | | | | | 37,130 | | | | | | | |
Retirement of common stock | (914) | | | | | $ (3) | (911) | | | | | | |
Retirement of common stock (in shares) | | | | | | (5,041) | | | | | | | |
Share-based compensation | 4,400 | | | | | | 4,400 | | | | | | |
Cash dividends declared and paid on Common and Class B common stock | (46,581) | | | | | | | | | | (46,581) | | |
Distributions to non-controlling interest | (2,178) | | | | | | | | | | | | (2,178) |
Ending balance at Mar. 31, 2018 | 1,549,626 | | | | | $ 21,119 | 814,711 | | | (37,569) | 581,893 | (87,440) | 256,912 |
Ending balance (in shares) at Mar. 31, 2018 | | | | | | 37,366,731 | | | | | | | |
Beginning balance at Dec. 31, 2017 | 1,550,977 | | | | | $ 21,050 | 804,008 | | | (34,221) | 594,556 | (87,440) | 253,024 |
Beginning balance (in shares) at Dec. 31, 2017 | | | | | | 37,228,715 | | | | | | | |
Cumulative-effect adjustment at Dec. 31, 2017 | | | | | | | | | | 301 | (301) | | |
Net income | 247,527 | | | | | | | | | | | | |
Other comprehensive income (loss) | (6,717) | | | | | | | | | | | | |
Ending balance at Sep. 30, 2018 | 1,660,550 | | | | | $ 21,148 | 829,050 | | | (38,157) | 642,643 | (87,440) | 293,306 |
Ending balance (in shares) at Sep. 30, 2018 | | | | | | 37,424,364 | | | | | | | |
Beginning balance at Mar. 31, 2018 | 1,549,626 | | | | | $ 21,119 | 814,711 | | | (37,569) | 581,893 | (87,440) | 256,912 |
Beginning balance (in shares) at Mar. 31, 2018 | | | | | | 37,366,731 | | | | | | | |
Net income | 108,264 | | | | | | | | | | 89,957 | | 18,307 |
Other comprehensive income (loss) | (4,561) | | | | | | | | | (2,890) | | | (1,671) |
Issuances of non-vested restricted shares of common stock | | | | | | $ 4 | (4) | | | | | | |
Issuances of non-vested restricted shares of common stock (in shares) | | | | | | 8,500 | | | | | | | |
Forfeitures of non-vested restricted shares of common stock | | | | | | $ (2) | 2 | | | | | | |
Forfeitures of non-vested restricted shares of common stock (in shares) | | | | | | (5,000) | | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan | 1,601 | | | | | $ 6 | 1,595 | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan (in shares) | | | | | | 11,935 | | | | | | | |
Retirement of common stock | (2,499) | | | | | $ (7) | (2,492) | | | | | | |
Retirement of common stock (in shares) | | | | | | (14,534) | | | | | | | |
Share-based compensation | 3,747 | | | | | | 3,747 | | | | | | |
Cash dividends declared and paid on Common and Class B common stock | (54,184) | | | | | | | | | | (54,184) | | |
Ending balance at Jun. 30, 2018 | 1,601,994 | | | | | $ 21,120 | 817,559 | | | (40,459) | 617,666 | (87,440) | 273,548 |
Ending balance (in shares) at Jun. 30, 2018 | | | | | | 37,367,632 | | | | | | | |
Net income | 96,886 | | | | | | | | | | 79,163 | | 17,723 |
Other comprehensive income (loss) | 3,585 | | | | | | | | | 2,302 | | | 1,283 |
Issuances of non-vested restricted shares of common stock | | | | | | $ 5 | (5) | | | | | | |
Issuances of non-vested restricted shares of common stock (in shares) | | | | | | 10,000 | | | | | | | |
Forfeitures of non-vested restricted shares of common stock | | | | | | $ (1) | 1 | | | | | | |
Forfeitures of non-vested restricted shares of common stock (in shares) | | | | | | (2,000) | | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan | 1,299 | | | | | $ 5 | 1,294 | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan (in shares) | | | | | | 10,835 | | | | | | | |
Retirement of common stock | (1,631) | | | | | $ (5) | (1,626) | | | | | | |
Retirement of common stock (in shares) | | | | | | (9,206) | | | | | | | |
Share-based compensation | 3,671 | | | | | | 3,671 | | | | | | |
Cash dividends declared and paid on Common and Class B common stock | (54,186) | | | | | | | | | | (54,186) | | |
Common stock issued | 8,180 | | | | | $ 24 | 8,156 | | | | | | |
Common stock issued (in shares) | | | | | | 47,103 | | | | | | | |
Investment in unconsolidated entity | 752 | | | | | | | | | | | | 752 |
Ending balance at Sep. 30, 2018 | 1,660,550 | | | | | $ 21,148 | 829,050 | | | (38,157) | 642,643 | (87,440) | 293,306 |
Ending balance (in shares) at Sep. 30, 2018 | | | | | | 37,424,364 | | | | | | | |
Beginning balance at Dec. 31, 2018 | 1,601,713 | | | | | $ 21,167 | 832,121 | | | (45,968) | 627,969 | (87,440) | 253,864 |
Beginning balance (in shares) at Dec. 31, 2018 | | | | | | 37,461,643 | | | | | | | |
Net income | 43,804 | | | | | | | | | | 35,037 | | 8,767 |
Other comprehensive income (loss) | 4,195 | | | | | | | | | 2,783 | | | 1,412 |
Issuances of non-vested restricted shares of common stock | | | | | | $ 39 | (39) | | | | | | |
Issuances of non-vested restricted shares of common stock (in shares) | | | | | | 77,049 | | | | | | | |
Forfeitures of non-vested restricted shares of common stock | | | | | | $ (3) | 3 | | | | | | |
Forfeitures of non-vested restricted shares of common stock (in shares) | | | | | | (5,000) | | | | | | | |
Common stock contribution to 401(k) plan | 4,274 | | | | | $ 15 | 4,259 | | | | | | |
Common stock contribution to 401(k) plan (in shares) | | | | | | 30,715 | | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan | 1,125 | | | | | $ 4 | 1,121 | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan (in shares) | | | | | | 8,925 | | | | | | | |
Retirement of common stock | (428) | | | | | $ (1) | (427) | | | | | | |
Retirement of common stock (in shares) | | | | | | (2,985) | | | | | | | |
Share-based compensation | 4,537 | | | | | | 4,537 | | | | | | |
Cash dividends declared and paid on Common and Class B common stock | (59,965) | | | | | | | | | | (59,965) | | |
Ending balance at Mar. 31, 2019 | 1,599,255 | | | | | $ 21,221 | 841,575 | | | (43,185) | 603,041 | (87,440) | 264,043 |
Ending balance (in shares) at Mar. 31, 2019 | | | | | | 37,570,347 | | | | | | | |
Beginning balance at Dec. 31, 2018 | 1,601,713 | | | | | $ 21,167 | 832,121 | | | (45,968) | 627,969 | (87,440) | 253,864 |
Beginning balance (in shares) at Dec. 31, 2018 | | | | | | 37,461,643 | | | | | | | |
Net income | 251,369 | | | | | | | | | | | | |
Other comprehensive income (loss) | 5,924 | | | | | | | | | | | | |
Ending balance at Sep. 30, 2019 | 1,753,022 | | | | | $ 21,485 | 894,917 | | | (42,040) | 656,187 | (87,440) | 309,913 |
Ending balance (in shares) at Sep. 30, 2019 | | | | | | 38,097,236 | | | | | | | |
Beginning balance at Mar. 31, 2019 | 1,599,255 | | | | | $ 21,221 | 841,575 | | | (43,185) | 603,041 | (87,440) | 264,043 |
Beginning balance (in shares) at Mar. 31, 2019 | | | | | | 37,570,347 | | | | | | | |
Net income | 107,910 | | | | | | | | | | 90,155 | | 17,755 |
Other comprehensive income (loss) | 4,652 | | | | | | | | | 3,039 | | | 1,613 |
Issuances of non-vested restricted shares of common stock | | | | | | $ 13 | (13) | | | | | | |
Issuances of non-vested restricted shares of common stock (in shares) | | | | | | 26,354 | | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan | 1,951 | | | | | $ 9 | 1,942 | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan (in shares) | | | | | | 15,807 | | | | | | | |
Retirement of common stock | (555) | | | | | $ (2) | (553) | | | | | | |
Retirement of common stock (in shares) | | | | | | (3,608) | | | | | | | |
Share-based compensation | 4,324 | | | | | | 4,324 | | | | | | |
Cash dividends declared and paid on Common and Class B common stock | (60,213) | | | | | | | | | | (60,213) | | |
Common stock issued | | | $ 7,450 | | $ 25 | | | | $ 7,425 | | | | |
Common stock issued (in shares) | | | | | 50,952 | | | | | | | | |
Investment in unconsolidated entity | 988 | | | | | | | | | | | | 988 |
Decrease in non-controlling interest in Carrier Enterprise II | (32,400) | | | | | | (25,768) | | | | | | (6,632) |
Ending balance at Jun. 30, 2019 | 1,633,362 | | | | | $ 21,266 | 828,932 | | | (40,146) | 632,983 | (87,440) | 277,767 |
Ending balance (in shares) at Jun. 30, 2019 | | | | | | 37,659,852 | | | | | | | |
Net income | 99,655 | | | | | | | | | | 83,480 | | 16,175 |
Other comprehensive income (loss) | (2,923) | | | | | | | | | (1,894) | | | (1,029) |
Issuances of non-vested restricted shares of common stock | | | | | | $ 19 | (19) | | | | | | |
Issuances of non-vested restricted shares of common stock (in shares) | | | | | | 37,834 | | | | | | | |
Forfeitures of non-vested restricted shares of common stock | | | | | | $ (3) | 3 | | | | | | |
Forfeitures of non-vested restricted shares of common stock (in shares) | | | | | | (5,337) | | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan | 4,529 | | | | | $ 19 | 4,510 | | | | | | |
Stock issuances from exercise of stock options and employee stock purchase plan (in shares) | | | | | | 36,374 | | | | | | | |
Retirement of common stock | (669) | | | | | $ (2) | (667) | | | | | | |
Retirement of common stock (in shares) | | | | | | (4,030) | | | | | | | |
Share-based compensation | 3,706 | | | | | | 3,706 | | | | | | |
Cash dividends declared and paid on Common and Class B common stock | (60,276) | | | | | | | | | | (60,276) | | |
Common stock issued | | $ 58,638 | | $ 186 | | | | $ 58,452 | | | | | |
Common stock issued (in shares) | | | | 372,543 | | | | | | | | | |
Investment in Peirce-Phelps, Inc. | 17,000 | | | | | | | | | | | | 17,000 |
Ending balance at Sep. 30, 2019 | $ 1,753,022 | | | | | $ 21,485 | $ 894,917 | | | $ (42,040) | $ 656,187 | $ (87,440) | $ 309,913 |
Ending balance (in shares) at Sep. 30, 2019 | | | | | | 38,097,236 | | | | | | | |