XML 45 R33.htm IDEA: XBRL DOCUMENT v3.24.3
Share-Based Compensation (Tables)
9 Months Ended
Sep. 30, 2024
Share-Based Payment Arrangement [Abstract]  
Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award
The following table presents share-based compensation expense recorded in the Condensed Consolidated Statements of Operations during the periods presented (in thousands):
Three months ended September 30,Nine months ended September 30,
2024202320242023
Direct costs
$68 $76 $191 $246 
Sales and marketing1,014 323 2,865 2,285 
Research, development, and engineering769 840 2,930 2,581 
General, administrative, and other related costs
8,310 5,535 24,647 19,281 
Total share-based compensation expense$10,161 $6,774 $30,633 $24,393 
Market-Based Restricted Stock Awards, Valuation Assumptions
The assumptions used in determining the weighted-average fair values of PSUs granted during the periods presented are as follows:
Nine months ended September 30,
20242023
Underlying stock price at valuation date$66.88 $77.80 
Expected volatility32.9 %32.0 %
Risk-free interest rate4.3 %4.1 %
Restricted Stock and Restricted Stock Unit Award Activity
Restricted stock award (“RSA”) and PSA activity for the nine months ended September 30, 2024 is set forth below:
RSAs
PSAs
Number of
Shares
Weighted Average
Grant Date
Fair Value
Number of
Shares
Weighted Average
Grant Date
Fair Value
Nonvested at January 1, 202495,718$70.17 163,181$36.27 
Granted— $— — $— 
Vested(41,170)71.73 — — 
Forfeited
(154)77.75 — — 
Nonvested at September 30, 2024
54,394 $68.97 163,181 $36.27 
  
Restricted stock unit activity for the nine months ended September 30, 2024 is set forth below:
RSUs
PSUs
Number of
Shares

Weighted Average Grant Date Fair Value
Number of Shares (1)
Weighted Average Grant Date Fair Value
Outstanding at January 1, 2024506,425 $88.36 270,772 $77.09 
Granted394,994 65.24308,970 87.17
Vested(132,003)83.91— — 
Forfeited
(74,647)75.63(47,015)79.49 
Outstanding at September 30, 2024694,769 $77.40 532,727 $82.71 
(1)Represents the number of shares at 100% achievement.