XML 65 R46.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]      
Net income $ 54,410 $ 79,486 $ 72,572
Weighted average shares outstanding:      
Basic (in shares) 20,029 19,758 19,515
Diluted (in shares) 20,766 20,618 20,296
Basic earnings (loss) per share (in dollars per share) $ 2.72 $ 4.02 $ 3.72
Diluted earnings (loss) per share (in dollars per share) $ 2.62 $ 3.86 $ 3.58
Restricted stock units      
Weighted average shares outstanding:      
Effect of dilutive securities: 580 644 587
Performance stock units      
Weighted average shares outstanding:      
Effect of dilutive securities: 157 216 194