XML 47 R36.htm IDEA: XBRL DOCUMENT
v3.20.2

Basis of Presentation and Nature of Operations - Additional Information (Details) | 3 Months Ended | 6 Months Ended
--- | --- | ---
Mar. 31, 2020 USD ($) | Jun. 30, 2019 USD ($) | Jun. 30, 2020 USD ($) Market Office Segment
Basis of Presentation and Nature of Operations [Line Items] |  |  |
Number of key client markets | Market |  |  | 4
Number of operating segments | Segment |  |  | 1
Number of reporting segments | Segment |  |  | 1
Cumulative-effect adjustment to the opening retained earnings |  |  | $ (513,000)
ASU 2016-13 |  |  |
Basis of Presentation and Nature of Operations [Line Items] |  |  |
Cumulative-effect adjustment to the opening retained earnings | $ 500,000 |  |
Indirect and Selling Expenses |  |  |
Basis of Presentation and Nature of Operations [Line Items] |  |  |
Impairment expense related to intangible assets |  | $ 1,700,000 | $ 0
Domestic | Minimum |  |  |
Basis of Presentation and Nature of Operations [Line Items] |  |  |
Number of offices | Office |  |  | 75
International |  |  |
Basis of Presentation and Nature of Operations [Line Items] |  |  |
Number of offices | Office |  |  | 15

X
- Definition Basis of presentation and nature of operations. + References No definition available. + Details
Name: | icfi_BasisOfPresentationAndNatureOfOperationsLineItems
Namespace Prefix: | icfi_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of key client markets. + References No definition available. + Details
Name: | icfi_NumberOfKeyClientMarkets
Namespace Prefix: | icfi_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of offices owned by the company. + References No definition available. + Details
Name: | icfi_NumberOfOffices
Namespace Prefix: | icfi_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of the cumulative effect on retained earnings net of related income tax effect. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 250 -SubTopic 10 -Section 50 -Paragraph 9 -URI http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794 + Details
Name: | us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275 + Details
Name: | us-gaap_ImpairmentOfIntangibleAssetsFinitelived
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues. + References No definition available. + Details
Name: | us-gaap_NumberOfOperatingSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements. + References No definition available. + Details
Name: | us-gaap_NumberOfReportableSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201613Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=icfi_IndirectAndSellingExpensesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementGeographicalAxis=country_US
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | srt_StatementGeographicalAxis=us-gaap_NonUsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |