Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) shares in Thousands, $ in Thousands | Common Class A [Member]Common Stock [Member] | Common Class A [Member]Additional Paid-in Capital [Member] | Common Class A [Member]Treasury Stock [Member] | Common Class A [Member]Retained Earnings [Member] | Common Class A [Member]AOCI Attributable to Parent [Member] | Common Class A [Member] | Common Class B [Member]Common Stock [Member] | Common Class B [Member]Additional Paid-in Capital [Member] | Common Class B [Member]Treasury Stock [Member] | Common Class B [Member]Retained Earnings [Member] | Common Class B [Member]AOCI Attributable to Parent [Member] | Common Class B [Member] | Common Stock [Member] | Additional Paid-in Capital [Member] | Treasury Stock [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balance (in shares) at Dec. 31, 2020 | 42,504 | | | | | | 12,470 | | | | | | | | | | | |
Balance at Dec. 31, 2020 | | | | | | | | | | | | | $ 551 | $ 437,646 | $ (2,879) | $ 831,850 | $ 869 | $ 1,268,037 |
Stock options exercised and stock awards (in shares) | 298 | | | | | | 0 | | | | | | | | | | | |
Stock options exercised and stock awards | | | | | | | | | | | | | 3 | 5,416 | 0 | 0 | 0 | 5,419 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | | | | | | | | | | 0 | 11,520 | 0 | 0 | 0 | 11,520 |
Vesting of restricted share awards (in shares) | 0 | | | | | | 345 | | | | | | | | | | | |
Vesting of restricted share awards | | | | | | | | | | | | | 3 | (6,780) | 0 | 0 | 0 | (6,777) |
Issuance of common stock under employee stock purchase plan (in shares) | 86 | | | | | | 0 | | | | | | | | | | | |
Issuance of common stock under employee stock purchase plan | | | | | | | | | | | | | 1 | 1,988 | 0 | 0 | 0 | 1,989 |
Common stock repurchases (in shares) | (3) | | | | | | (155) | | | | | | | | | | | |
Common stock repurchases | | | | | | | | | | | | | 0 | 0 | (6,483) | 0 | 0 | (6,483) |
Dividend common stock | $ 0 | $ 0 | $ 0 | $ (7,684) | $ 0 | $ (7,684) | $ 0 | $ 0 | $ 0 | $ (2,380) | $ 0 | $ (2,380) | | | | | | |
Foreign currency translation adjustment | | | | | | | | | | | | | 0 | 0 | 0 | 0 | 255 | 255 |
Net income | | | | | | | | | | | | | 0 | 0 | 0 | 45,333 | 0 | 45,333 |
Balance (in shares) at Mar. 31, 2021 | 42,885 | | | | | | 12,660 | | | | | | | | | | | |
Balance at Mar. 31, 2021 | | | | | | | | | | | | | 558 | 449,790 | (9,362) | 867,119 | 1,124 | 1,309,229 |
Balance (in shares) at Dec. 31, 2021 | 43,108 | | | | | | 12,399 | | | | | | | | | | | |
Balance at Dec. 31, 2021 | | | | | | | | | | | | | 563 | 470,750 | (36,933) | 1,031,582 | 787 | 1,466,749 |
Stock options exercised and stock awards (in shares) | 112 | | | | | | 0 | | | | | | | | | | | |
Stock options exercised and stock awards | | | | | | | | | | | | | 1 | 2,384 | 0 | 0 | 0 | 2,385 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | | | | | | | | | | 0 | 13,793 | 0 | 0 | 0 | 13,793 |
Vesting of restricted share awards (in shares) | 0 | | | | | | 302 | | | | | | | | | | | |
Vesting of restricted share awards | | | | | | | | | | | | | 3 | (7,215) | 0 | 0 | 0 | (7,212) |
Issuance of common stock under employee stock purchase plan (in shares) | 66 | | | | | | 0 | | | | | | | | | | | |
Issuance of common stock under employee stock purchase plan | | | | | | | | | | | | | 1 | 2,434 | 0 | 0 | 0 | 2,435 |
Common stock repurchases (in shares) | (192) | | | | | | (104) | | | | | | | | | | | |
Common stock repurchases | | | | | | | | | | | | | 0 | 0 | (15,315) | 0 | 0 | (15,315) |
Dividend common stock | $ 0 | $ 0 | $ 0 | $ (8,189) | $ 0 | $ (8,189) | $ 0 | $ 0 | $ 0 | $ (2,505) | $ 0 | $ (2,505) | | | | | | |
Foreign currency translation adjustment | | | | | | | | | | | | | 0 | 0 | 0 | 0 | 445 | 445 |
Net income | | | | | | | | | | | | | 0 | 0 | 0 | 92,453 | 0 | 92,453 |
Balance (in shares) at Mar. 31, 2022 | 43,094 | | | | | | 12,597 | | | | | | | | | | | |
Balance at Mar. 31, 2022 | | | | | | | | | | | | | $ 568 | $ 482,146 | $ (52,248) | $ 1,113,341 | $ 1,232 | $ 1,545,039 |