Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) $ in Thousands | Common Stock [Member] Common Class A [Member] | Common Stock [Member] Common Class B [Member] | Common Stock [Member] | Additional Paid-in Capital [Member] | Treasury Stock, Common [Member] | Retained Earnings [Member] Common Class A [Member] | Retained Earnings [Member] Common Class B [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Parent [Member] Common Class A [Member] | Parent [Member] Common Class B [Member] | Parent [Member] | Noncontrolling Interest [Member] | Common Class A [Member] | Common Class B [Member] | Total |
Balance (in shares) at Dec. 31, 2021 | 43,108,000 | 12,399,000 | | | | | | | | | | | | | | |
Balance at Dec. 31, 2021 | $ 1,466,749 | | $ 563 | $ 470,750 | $ (36,933) | | | $ 1,031,582 | $ 787 | | | $ 1,466,749 | | | | |
Stock options exercised and stock awards (in shares) | 112,000 | | | | | | | | | | | | | | | |
Stock options exercised and stock awards | $ 2,385 | | 1 | 2,384 | | | | | | | | 2,385 | | | | |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | 13,793 | | | | | | | | 13,793 | | | | |
Vesting of restricted share awards (in shares) | | 302,000 | | | | | | | | | | | | | | |
Vesting of restricted share awards | $ (7,212) | | 3 | (7,215) | | | | | | | | (7,212) | | | | |
Issuance of common stock under employee stock purchase plan (in shares) | 66,000 | | | | | | | | | | | | | | | |
Issuance of common stock under employee stock purchase plan | $ 2,435 | | 1 | 2,434 | | | | | | | | 2,435 | | | | |
Common stock repurchases (in shares) | (192,000) | (104,000) | | | | | | | | | | | | | | |
Common stock repurchases | $ (15,315) | | | | (15,315) | | | | | | | (15,315) | | | | |
Cash dividends declared | | | | | | $ (8,189) | $ (2,505) | | | $ (8,189) | $ (2,505) | | | | | |
Foreign currency translation adjustment | | | | | | | | | 445 | | | 445 | | | | |
Net income | | | | | | | | 92,453 | | | | 92,453 | | | | |
Foreign currency translation | | | | | | | | | 445 | | | 445 | | | | |
Balance (in shares) at Mar. 31, 2022 | 43,094,000 | 12,597,000 | | | | | | | | | | | | | | |
Balance at Mar. 31, 2022 | $ 1,545,039 | | 568 | 482,146 | (52,248) | | | 1,113,341 | 1,232 | | | 1,545,039 | | | | |
Balance (in shares) at Dec. 31, 2021 | 43,108,000 | 12,399,000 | | | | | | | | | | | | | | |
Balance at Dec. 31, 2021 | $ 1,466,749 | | 563 | 470,750 | (36,933) | | | 1,031,582 | 787 | | | 1,466,749 | | | | |
Foreign currency translation adjustment | | | | | | | | | | | | | | | | $ (122) |
Net income | | | | | | | | | | | | | | | | 203,126 |
Foreign currency translation | | | | | | | | | | | | | | | | (122) |
Balance (in shares) at Jun. 30, 2022 | 42,808,000 | 12,266,000 | | | | | | | | | | | | | | |
Balance at Jun. 30, 2022 | | | 570 | 488,170 | (90,686) | | | 1,212,919 | 64 | | | 1,611,037 | $ 18,274 | | | 1,629,311 |
Balance (in shares) at Mar. 31, 2022 | 43,094,000 | 12,597,000 | | | | | | | | | | | | | | |
Balance at Mar. 31, 2022 | $ 1,545,039 | | 568 | 482,146 | (52,248) | | | 1,113,341 | 1,232 | | | 1,545,039 | | | | |
Stock options exercised and stock awards (in shares) | 162,000 | | | | | | | | | | | | | | | |
Stock options exercised and stock awards | | | 2 | 3,244 | | | | | | | | 3,246 | | | | 3,246 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | 4,203 | | | | | | | | 4,203 | | | | 4,203 |
Vesting of restricted share awards | | | | (1,423) | | | | | | | | (1,423) | | | | (1,423) |
Common stock repurchases (in shares) | (448,000) | (331,000) | | | | | | | | | | | | | | |
Common stock repurchases | | | | | (38,438) | | | | | | | (38,438) | | | | (38,438) |
Cash dividends declared | | | | | | (8,128) | (2,521) | | | (8,128) | (2,521) | | | $ (8,128) | $ (2,521) | |
Foreign currency translation adjustment | | | | | | | | | (567) | | | (567) | | | | (567) |
Net income | | | | | | | | 110,227 | | | | 110,227 | 446 | | | 110,673 |
Foreign currency translation | | | | | | | | | (567) | | | (567) | | | | (567) |
Balance (in shares) at Jun. 30, 2022 | 42,808,000 | 12,266,000 | | | | | | | | | | | | | | |
Balance at Jun. 30, 2022 | | | 570 | 488,170 | (90,686) | | | 1,212,919 | 64 | | | 1,611,037 | 18,274 | | | 1,629,311 |
Reclassification of foreign currency translation related to equity method | | | | | | | | | (601) | | | (601) | | | | (601) |
Noncontrolling interest equity | | | | | | | | | | | | | 17,828 | | | 17,828 |
Balance (in shares) at Dec. 31, 2022 | 42,345,000 | 12,083,000 | | | | | | | | | | | | | | |
Balance at Dec. 31, 2022 | | | 572 | 500,642 | (130,930) | | | 1,378,337 | (4,130) | | | 1,744,491 | | | | 1,763,022 |
Stock options exercised and stock awards (in shares) | 152 | | | | | | | | | | | | | | | |
Stock options exercised and stock awards | | | 2 | 3,412 | | | | | | | | 3,414 | | | | 3,414 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | 13,080 | | | | | | | | 13,080 | | | | 13,080 |
Vesting of restricted share awards (in shares) | | 281,000 | | | | | | | | | | | | | | |
Vesting of restricted share awards | | | 3 | (6,964) | | | | | | | | (6,961) | | | | (6,961) |
Issuance of common stock under employee stock purchase plan (in shares) | 68,000 | | | | | | | | | | | | | | | |
Issuance of common stock under employee stock purchase plan | | | | 2,828 | | | | | | | | 2,828 | | | | 2,828 |
Common stock repurchases (in shares) | (415,000) | (56,000) | | | | | | | | | | | | | | |
Common stock repurchases | | | | | (25,280) | | | | | | | (25,280) | | | | (25,280) |
Cash dividends declared | | | | | | (8,897) | (2,692) | | | (8,897) | (2,692) | | | (8,897) | (2,692) | |
Foreign currency translation adjustment | | | | | | | | | 232 | | | 232 | | | | 232 |
Net income | | | | | | | | 90,455 | | | | 90,455 | 335 | | | 90,790 |
Foreign currency translation | | | | | | | | | 232 | | | 232 | | | | 232 |
Balance (in shares) at Mar. 31, 2023 | 42,150,000 | 12,308,000 | | | | | | | | | | | | | | |
Balance at Mar. 31, 2023 | | | 577 | 512,998 | (156,210) | | | 1,457,203 | (3,898) | | | 1,810,670 | 18,866 | | | 1,829,536 |
Balance (in shares) at Dec. 31, 2022 | 42,345,000 | 12,083,000 | | | | | | | | | | | | | | |
Balance at Dec. 31, 2022 | | | 572 | 500,642 | (130,930) | | | 1,378,337 | (4,130) | | | 1,744,491 | | | | 1,763,022 |
Foreign currency translation adjustment | | | | | | | | | | | | | | | | 1,921 |
Net income | | | | | | | | | | | | | | | | 189,314 |
Foreign currency translation | | | | | | | | | | | | | | | | 1,921 |
Balance (in shares) at Jun. 30, 2023 | 41,715,000 | 12,179,000 | | | | | | | | | | | | | | |
Balance at Jun. 30, 2023 | | | 578 | 522,375 | (196,515) | | | 1,543,941 | (2,209) | | | 1,868,170 | 19,115 | | | 1,887,285 |
Balance (in shares) at Mar. 31, 2023 | 42,150,000 | 12,308,000 | | | | | | | | | | | | | | |
Balance at Mar. 31, 2023 | | | 577 | 512,998 | (156,210) | | | 1,457,203 | (3,898) | | | 1,810,670 | 18,866 | | | 1,829,536 |
Stock options exercised and stock awards (in shares) | 158,000 | | | | | | | | | | | | | | | |
Stock options exercised and stock awards | | | 1 | 3,479 | | | | | | | | 3,480 | | | | 3,480 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | 5,952 | | | | | | | | 5,952 | | | | 5,952 |
Vesting of restricted share awards | | | | (54) | | | | | | | | (54) | | | | (54) |
Common stock repurchases (in shares) | (593,000) | (129,000) | | | | | | | | | | | | | | |
Common stock repurchases | | | | | (40,305) | | | | | | | (40,305) | | | | (40,305) |
Cash dividends declared | | | | | | $ (8,812) | $ (2,725) | | | $ (8,812) | $ (2,725) | | | $ (8,812) | $ (2,725) | |
Foreign currency translation adjustment | | | | | | | | | 1,689 | | | 1,689 | | | | 1,689 |
Net income | | | | | | | | 98,275 | | | | 98,275 | 249 | | | 98,524 |
Foreign currency translation | | | | | | | | | 1,689 | | | 1,689 | | | | 1,689 |
Balance (in shares) at Jun. 30, 2023 | 41,715,000 | 12,179,000 | | | | | | | | | | | | | | |
Balance at Jun. 30, 2023 | | | $ 578 | $ 522,375 | $ (196,515) | | | $ 1,543,941 | $ (2,209) | | | $ 1,868,170 | $ 19,115 | | | $ 1,887,285 |