XML 58 R30.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Revenue Recognition - Contracts Receivable and Retainage (Details) - USD ($) $ in Thousands | 3 Months Ended |
--- | --- | ---
Sep. 30, 2018 | Dec. 31, 2017
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |
Contract receivable | $ 28,933 | $ 28,466
Allowance for bad debt | 3,700 |
Increase in allowance for bad debt | 2,800 |
Contracts in progress | 40,187 | 28,373
Advance billings on contracts | 14,930 | 5,136
Accrued contract losses | 6,033 | $ 7,618
Contract Receivable | Customer Concentration Risk | One Major Customer |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |
Contract receivable | 18,400 |
Costs in Excess of Billings | Customer Concentration Risk | Three Customers |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |
Contracts in progress | 37,100 |
Billings in Excess of Costs | Customer Concentration Risk | Five Customers |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |
Customer advances | $ 11,200 |

X
- Definition For an unclassified balance sheet, a valuation allowance for receivables due a company that are expected to be uncollectible. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=84173941&loc=d3e5074-111524 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.4) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of increase (decrease) in the allowance for doubtful accounts. + References No definition available. + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method that are expected to be realized within one year or one operating cycle, whichever is longer, from the reporting date. + References No definition available. + Details
Name: | us-gaap_BillingsInExcessOfCostCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount billed to customers under long-term contracts or programs to be collected in the next fiscal year following the latest fiscal year. Excludes amounts due that have been withheld because of retainage provisions in a contract. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References No definition available. + Details
Name: | us-gaap_ContractReceivableDueOneYearOrLess
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings which is expected to be collected within one year or the normal operating cycle, if longer. + References Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.3(c)(3)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Refundable consideration, usually cash, held by the entity pending satisfactory completion of the entity's obligations or pending the closing of a contract. + References Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03.15a) -URI http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910 + Details
Name: | us-gaap_CustomerAdvancesAndDeposits
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Cumulative provision for contract losses not offset against related costs accumulated on the balance sheet. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 605 -SubTopic 35 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=68068069&loc=d3e57777-111642 + Details
Name: | us-gaap_ProvisionForLossOnContracts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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 No definition available. + Details
Name: | us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=gifi_ContractReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=gifi_OneMajorCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=gifi_CostsinExcessofBillingsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=gifi_ThreeMajorCustomersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=gifi_BillingsinExcessofCostsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=gifi_FiveMajorCustomersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |