CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) - USD ($) $ in Thousands | Total | Common Stock | Additional Paid-In Capital | Treasury Stock | Accumulated Other Comprehensive Income | Accumulated Deficit |
Beginning balance (in shares) at Dec. 31, 2022 | | 86,674,390 | | | | |
Beginning balance at Dec. 31, 2022 | $ 178,590 | $ 9 | $ 194,157 | $ (81,697) | $ 12,240 | $ 53,881 |
Beginning balance (in shares) at Dec. 31, 2022 | | | | (7,829,661) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Repurchase of common stock (in shares) | | (476,718) | | (476,718) | | |
Repurchase of common stock | (4,206) | | | $ (4,206) | | |
Stock-based compensation | 1,688 | | 1,688 | | | |
Exercise of stock-based awards, net of shares withheld (in shares) | | 247,153 | | | | |
Exercise of stock-based awards, net of shares withheld | (602) | | (602) | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | (2,166) | | | | (2,166) | |
Net income | 9,182 | | | | | 9,182 |
Ending balance (in shares) at Mar. 31, 2023 | | 86,444,825 | | | | |
Ending balance at Mar. 31, 2023 | 182,486 | $ 9 | 195,243 | $ (85,903) | 10,074 | 63,063 |
Ending balance (in shares) at Mar. 31, 2023 | | | | (8,306,379) | | |
Beginning balance (in shares) at Dec. 31, 2022 | | 86,674,390 | | | | |
Beginning balance at Dec. 31, 2022 | 178,590 | $ 9 | 194,157 | $ (81,697) | 12,240 | 53,881 |
Beginning balance (in shares) at Dec. 31, 2022 | | | | (7,829,661) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | (7) | | | | | |
Net income | 29,615 | | | | | |
Ending balance (in shares) at Sep. 30, 2023 | | 85,389,889 | | | | |
Ending balance at Sep. 30, 2023 | 198,774 | $ 9 | 200,545 | $ (97,509) | 12,233 | 83,496 |
Ending balance (in shares) at Sep. 30, 2023 | | | | (9,494,752) | | |
Beginning balance (in shares) at Mar. 31, 2023 | | 86,444,825 | | | | |
Beginning balance at Mar. 31, 2023 | 182,486 | $ 9 | 195,243 | $ (85,903) | 10,074 | 63,063 |
Beginning balance (in shares) at Mar. 31, 2023 | | | | (8,306,379) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Repurchase of common stock (in shares) | | (887,174) | | (887,174) | | |
Repurchase of common stock | (8,230) | | | $ (8,230) | | |
Stock-based compensation | 2,567 | | 2,567 | | | |
Exercise of stock-based awards, net of shares withheld (in shares) | | 48,074 | | | | |
Exercise of stock-based awards, net of shares withheld | (120) | | (120) | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | 2,062 | | | | 2,062 | |
Net income | 9,983 | | | | | 9,983 |
Ending balance (in shares) at Jun. 30, 2023 | | 85,605,725 | | | | |
Ending balance at Jun. 30, 2023 | 188,748 | $ 9 | 197,690 | $ (94,133) | 12,136 | 73,046 |
Ending balance (in shares) at Jun. 30, 2023 | | | | (9,193,553) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Repurchase of common stock (in shares) | | (301,199) | | (301,199) | | |
Repurchase of common stock | (3,376) | | | $ (3,376) | | |
Stock-based compensation | 2,718 | | 2,718 | | | |
Exercise of stock-based awards, net of shares withheld (in shares) | | 85,363 | | | | |
Exercise of stock-based awards, net of shares withheld | 137 | | 137 | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | 97 | | | | 97 | |
Net income | 10,450 | | | | | 10,450 |
Ending balance (in shares) at Sep. 30, 2023 | | 85,389,889 | | | | |
Ending balance at Sep. 30, 2023 | 198,774 | $ 9 | 200,545 | $ (97,509) | 12,233 | 83,496 |
Ending balance (in shares) at Sep. 30, 2023 | | | | (9,494,752) | | |
Beginning balance (in shares) at Dec. 31, 2023 | | 84,123,385 | | | | |
Beginning balance at Dec. 31, 2023 | 198,404 | $ 8 | 203,046 | $ (112,070) | 7,936 | 99,484 |
Beginning balance (in shares) at Dec. 31, 2023 | | | | (10,893,575) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Repurchase of common stock (in shares) | | (594,817) | | (594,817) | | |
Repurchase of common stock | (6,182) | | | $ (6,182) | | |
Stock-based compensation | 2,350 | | 2,350 | | | |
Exercise of stock-based awards, net of shares withheld (in shares) | | 249,700 | | | | |
Exercise of stock-based awards, net of shares withheld | (940) | | (940) | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | 1,081 | | | | 1,081 | |
Net income | 7,416 | | | | | 7,416 |
Ending balance (in shares) at Mar. 31, 2024 | | 83,778,268 | | | | |
Ending balance at Mar. 31, 2024 | 202,129 | $ 8 | 204,456 | $ (118,252) | 9,017 | 106,900 |
Ending balance (in shares) at Mar. 31, 2024 | | | | (11,488,392) | | |
Beginning balance (in shares) at Dec. 31, 2023 | | 84,123,385 | | | | |
Beginning balance at Dec. 31, 2023 | 198,404 | $ 8 | 203,046 | $ (112,070) | 7,936 | 99,484 |
Beginning balance (in shares) at Dec. 31, 2023 | | | | (10,893,575) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | (4,071) | | | | | |
Net income | 26,897 | | | | | |
Ending balance (in shares) at Sep. 30, 2024 | | 82,430,205 | | | | |
Ending balance at Sep. 30, 2024 | 206,719 | $ 8 | 210,225 | $ (133,760) | 3,865 | 126,381 |
Ending balance (in shares) at Sep. 30, 2024 | | | | (12,979,443) | | |
Beginning balance (in shares) at Mar. 31, 2024 | | 83,778,268 | | | | |
Beginning balance at Mar. 31, 2024 | 202,129 | $ 8 | 204,456 | $ (118,252) | 9,017 | 106,900 |
Beginning balance (in shares) at Mar. 31, 2024 | | | | (11,488,392) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Repurchase of common stock (in shares) | | (905,932) | | (905,932) | | |
Repurchase of common stock | (9,293) | | | $ (9,293) | | |
Stock-based compensation | 3,235 | | 3,235 | | | |
Exercise of stock-based awards, net of shares withheld (in shares) | | 85,817 | | | | |
Exercise of stock-based awards, net of shares withheld | (492) | | (492) | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | (1,077) | | | | (1,077) | |
Net income | 14,586 | | | | | 14,586 |
Ending balance (in shares) at Jun. 30, 2024 | | 82,958,153 | | | | |
Ending balance at Jun. 30, 2024 | 209,088 | $ 8 | 207,199 | $ (127,545) | 7,940 | 121,486 |
Ending balance (in shares) at Jun. 30, 2024 | | | | (12,394,324) | | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | | | |
Repurchase of common stock (in shares) | | (585,119) | | (585,119) | | |
Repurchase of common stock | (6,215) | | | $ (6,215) | | |
Stock-based compensation | 3,342 | | 3,342 | | | |
Exercise of stock-based awards, net of shares withheld (in shares) | | 57,171 | | | | |
Exercise of stock-based awards, net of shares withheld | (316) | | (316) | | | |
Unrealized gain (loss) on interest rate caplets, net of taxes | (4,075) | | | | (4,075) | |
Net income | 4,895 | | | | | 4,895 |
Ending balance (in shares) at Sep. 30, 2024 | | 82,430,205 | | | | |
Ending balance at Sep. 30, 2024 | $ 206,719 | $ 8 | $ 210,225 | $ (133,760) | $ 3,865 | $ 126,381 |
Ending balance (in shares) at Sep. 30, 2024 | | | | (12,979,443) | | |