XML 87 R72.htm IDEA: XBRL DOCUMENT
v3.20.4

Revenue Recognition - Additional Information (Detail) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Revenue From Contract With Customer [Abstract] |  |  |
Net contract assets | $ 3,605 |  |
Revenue related to contract liabilities |  | $ 24,700 | $ 23,000

X
- Definition Change in contract with customer assets liability net current. + References No definition available. + Details
Name: | icfi_ChangeInContractWithCustomerAssetsLiabilitiesNetCurrent
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiabilityRevenueRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

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