XML 65 R53.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Contract Receivables, Net - Additional Information (Details) - Master Receivables Purchase Agreement with MUFG Bank [Member] - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022
Financing Receivable, Past Due [Line Items] |  |
Received contract receivables | $ 309.4 | $ 10.0
Bills receivables collected but not remitted to MUFG | 28.7 | 6.2
Discount on sale of receivables | $ 1.1 |
Maximum |  |
Financing Receivable, Past Due [Line Items] |  |
Discount on sale of receivables |  | $ 0.1

X
- Definition Bills receivables collected but not remitted to MUFG. + References No definition available. + Details
Name: | icfi_BillsReceivablesCollectedButNotRemittedToMufg
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Discount on sale of receivables. + References No definition available. + Details
Name: | icfi_DiscountOnSaleOfReceivables
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Received contract receivables. + References No definition available. + Details
Name: | icfi_ReceivedContractReceivables
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 14 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-14 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 80 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479294/326-20-55-80 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | icfi_ContractReceivablesAxis=icfi_MasterReceivablesPurchaseAgreementWithMufgBankMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |