XML 31 R20.htm IDEA: XBRL DOCUMENT
v3.26.1

NET INCOME PER COMMON SHARE | 3 Months Ended
--- | ---
Mar. 31, 2026
Earnings Per Share [Abstract] |
NET INCOME PER COMMON SHARE | NET INCOME PER COMMON SHARE The following table sets forth the computation of diluted net income per common share following the treasury stock method:
| Three Months Ended March 31, |  |
| 2026 |  | 2025 |  |  |  |
Net income | $ | 1,584 |  |  | $ | 3,758 |  |  |  |  |
Basic weighted average common shares | 42,244,534 |  |  | 42,604,799 |  |  |  |  |
Dilutive effect of common stock equivalents | 667,057 |  |  | 226,987 |  |  |  |  |
Diluted weighted average common shares | 42,911,591 |  |  | 42,831,786 |  |  |  |  |
Basic net income per common share | $ | 0.04 |  |  | $ | 0.09 |  |  |  |  |
Diluted net income per common share | $ | 0.04 |  |  | $ | 0.09 |  |  |  |  |
The computation of diluted weighted average common shares excludes common stock equivalents including non-qualified stock options, performance stock units ("PSUs") and restricted stock units ("RSUs") because the effect of including them would be anti-dilutive. The weighted average anti-dilutive shares outstanding for the three months ended March 31, 2026 and 2025 were as follows:
| Three Months Ended March 31, |  |
| 2026 |  | 2025 |  |  |  |
Non-qualified stock options | 427,883 |  |  | 585,170 |  |  |  |  |
Restricted stock units | 111,105 |  |  | 342,468 |  |  |  |  |
Performance stock units | 24,145 |  |  | 58,872 |  |  |  |  |
Total weighed average anti-dilutive shares outstanding | 563,133 |  |  | 986,510 |  |  |  |  |
On February 12, 2026, the Company announced that its Board of Directors has authorized the purchase of up to $100,000 of IPG common stock. This authorization is in addition to the Company's previously authorized stock repurchase programs. There were no repurchases for the three months ended March 31, 2026 and 2025 under either the February 2026 or February 2025 authorization. As of March 31, 2026, the Company had $100,000 remaining under the February 2026 authorization.

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration