Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) shares in Thousands, $ in Thousands | Common Class A [Member]Common Stock [Member] | Common Class A [Member]Retained Earnings [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, 2019 | 41,930 | | | 12,360 | | | | | | | | | | | |
Balance at Dec. 31, 2019 | | | | | | | | | | $ 465 | $ 397,267 | $ (304,129) | $ 1,065,553 | $ 337 | $ 1,159,493 |
Stock options exercised and stock awards (in shares) | 110 | | | 0 | | | | | | | | | | | |
Stock options exercised and stock awards | | | | | | | | | | 1 | 1,421 | 0 | 0 | 0 | 1,422 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | | | | | | | 0 | 8,553 | 0 | 0 | 0 | 8,553 |
Vesting of restricted share awards (in shares) | 0 | | | 337 | | | | | | | | | | | |
Vesting of restricted share awards | | | | | | | | | | 2 | (2,416) | 0 | 0 | 0 | (2,414) |
Issuance of common stock under employee stock purchase plan (in shares) | 92 | | | 0 | | | | | | | | | | | |
Issuance of common stock under employee stock purchase plan | | | | | | | | | | 1 | 1,900 | 0 | 0 | 0 | 1,901 |
Common stock repurchases (in shares) | (833) | | | (81) | | | | | | | | | | | |
Common stock repurchases | | | | | | | | | | 0 | 0 | (19,902) | 0 | 0 | (19,902) |
Dividend common stock | | $ (3,646) | $ (3,646) | | | | $ (1,108) | | $ (1,108) | | | | | | |
Other comprehensive income (loss) | | | | | | | | | | 0 | 0 | 0 | 0 | (1,930) | (1,930) |
Net income | | | | | | | | | | 0 | 0 | 0 | 23,107 | 0 | 23,107 |
Dividend common stock | | (3,646) | (3,646) | | | | (1,108) | | (1,108) | | | | | | |
Balance (in shares) at Mar. 31, 2020 | 41,299 | | | 12,616 | | | | | | | | | | | |
Balance at Mar. 31, 2020 | | | | | | | | | | 469 | 406,725 | (324,031) | 1,083,906 | (1,593) | 1,165,476 |
Balance (in shares) at Dec. 31, 2019 | 41,930 | | | 12,360 | | | | | | | | | | | |
Balance at Dec. 31, 2019 | | | | | | | | | | 465 | 397,267 | (304,129) | 1,065,553 | 337 | 1,159,493 |
Net income | | | | | | | | | | | | | | | 39,923 |
Balance (in shares) at Jun. 30, 2020 | 41,593 | | | 12,616 | | | | | | | | | | | |
Balance at Jun. 30, 2020 | | | | | | | | | | 471 | 414,812 | (324,031) | 1,095,976 | (668) | 1,186,560 |
Balance (in shares) at Mar. 31, 2020 | 41,299 | | | 12,616 | | | | | | | | | | | |
Balance at Mar. 31, 2020 | | | | | | | | | | 469 | 406,725 | (324,031) | 1,083,906 | (1,593) | 1,165,476 |
Stock options exercised and stock awards (in shares) | 294 | | | 0 | | | | | | | | | | | |
Stock options exercised and stock awards | | | | | | | | | | 2 | 4,529 | 0 | 0 | 0 | 4,531 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | | | | | | | 0 | 3,586 | 0 | 0 | 0 | 3,586 |
Vesting of restricted share awards | | | | | | | | | | 0 | (28) | 0 | 0 | 0 | (28) |
Dividend common stock | | (3,581) | (3,581) | $ 0 | $ 0 | $ 0 | (1,165) | $ 0 | (1,165) | | | | | | |
Other comprehensive income (loss) | | | | | | | | | | 0 | 0 | 0 | 0 | 925 | 925 |
Net income | | | | | | | | | | 0 | 0 | 0 | 16,816 | 0 | 16,816 |
Dividend common stock | | (3,581) | (3,581) | $ 0 | $ 0 | $ 0 | (1,165) | $ 0 | (1,165) | | | | | | |
Balance (in shares) at Jun. 30, 2020 | 41,593 | | | 12,616 | | | | | | | | | | | |
Balance at Jun. 30, 2020 | | | | | | | | | | 471 | 414,812 | (324,031) | 1,095,976 | (668) | 1,186,560 |
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 | | (7,684) | (7,684) | | | | (2,380) | | (2,380) | | | | | | |
Other comprehensive income (loss) | | | | | | | | | | 0 | 0 | 0 | 0 | 255 | 255 |
Net income | | | | | | | | | | 0 | 0 | 0 | 45,333 | 0 | 45,333 |
Dividend common stock | | (7,684) | (7,684) | | | | (2,380) | | (2,380) | | | | | | |
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, 2020 | 42,504 | | | 12,470 | | | | | | | | | | | |
Balance at Dec. 31, 2020 | | | | | | | | | | 551 | 437,646 | (2,879) | 831,850 | 869 | 1,268,037 |
Net income | | | | | | | | | | | | | | | 103,377 |
Balance (in shares) at Jun. 30, 2021 | 43,104 | | | 12,561 | | | | | | | | | | | |
Balance at Jun. 30, 2021 | | | | | | | | | | 560 | 456,785 | (13,585) | 915,003 | 1,436 | 1,360,199 |
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 |
Stock options exercised and stock awards (in shares) | 219 | | | 0 | | | | | | | | | | | |
Stock options exercised and stock awards | | | | | | | | | | 2 | 3,926 | 0 | 0 | 0 | 3,928 |
Stock-based compensation related to stock options, restricted shares and employee stock purchase plan | | | | | | | | | | 0 | 3,683 | 0 | 0 | 0 | 3,683 |
Vesting of restricted share awards | | | | | | | | | | 0 | (614) | 0 | 0 | 0 | (614) |
Common stock repurchases (in shares) | 0 | | | (99) | | | | | | | | | | | |
Common stock repurchases | | | | | | | | | | 0 | 0 | (4,223) | 0 | 0 | (4,223) |
Dividend common stock | | (7,735) | (7,735) | | | | (2,425) | | (2,425) | | | | | | |
Other comprehensive income (loss) | | | | | | | | | | 0 | 0 | 0 | 0 | 312 | 312 |
Net income | | | | | | | | | | 0 | 0 | 0 | 58,044 | 0 | 58,044 |
Dividend common stock | | $ (7,735) | $ (7,735) | | | | $ (2,425) | | $ (2,425) | | | | | | |
Balance (in shares) at Jun. 30, 2021 | 43,104 | | | 12,561 | | | | | | | | | | | |
Balance at Jun. 30, 2021 | | | | | | | | | | $ 560 | $ 456,785 | $ (13,585) | $ 915,003 | $ 1,436 | $ 1,360,199 |