XML 94 R80.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Revenue Recognition - Additional Information (Detail1) - USD ($) $ in Millions | 2 Months Ended |
--- | --- | ---
Feb. 25, 2025 | Dec. 31, 2024
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2025-01-01 |  |
Revenue From Contract With Customer [Line Items] |  |
Unfulfilled performance obligation |  | $ 1,300
Expected period to satisfy performance obligations |  | 1 year
Revenue, remaining performance obligation, percentage |  | 61.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2026-01-01 |  |
Revenue From Contract With Customer [Line Items] |  |
Expected period to satisfy performance obligations |  | 1 year
Revenue, remaining performance obligation, percentage |  | 73.00%
Subsequent Event |  |
Revenue From Contract With Customer [Line Items] |  |
Reduced amount of unfulfilled performance obligations | $ 245 |

X
- Definition Increase decrease in unfulfilled performance obligations. + References No definition available. + Details
Name: | icfi_IncreaseDecreaseInUnfulfilledPerformanceObligations
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Revenue from contract with customer. + References No definition available. + Details
Name: | icfi_RevenueFromContractWithCustomerLineItems
Namespace Prefix: | icfi_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |