XML 44 R33.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Revenue From Contracts With Customers - Narrative (Details) $ in Millions | 3 Months Ended | 9 Months Ended |
--- | --- | --- | ---
Sep. 30, 2018 USD ($) contract | Sep. 30, 2017 USD ($) | Sep. 30, 2018 USD ($) contract | Sep. 30, 2017 USD ($) | Dec. 31, 2017 USD ($)
Disaggregation of Revenue [Line Items] |  |  |  |  |
Remaining performance obligation | $ 833.0 |  | $ 833.0 |  |
Remaining performance obligation expected to be recognize the remainder of 2018 | 70.00% |  | 70.00% |  |
Minimum |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Revenue recognition, contract term |  |  | 12 months |  |
Warranty, term |  |  | 1 year |  |
Maximum |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Revenue recognition, contract term |  |  | 36 months |  |
Warranty, term |  |  | 2 years |  |
Transferred over Time | Product Concentration Risk | Revenue from Contract with Customer |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Concentration risk, percentage | 87.00% | 87.00% | 85.00% | 89.00% |
Transferred at Point in Time | Product Concentration Risk | Revenue from Contract with Customer |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Concentration risk, percentage | 13.00% | 13.00% | 15.00% | 11.00% |
Heavy Civil Construction |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Number of contracts (more than) | contract | 150 |  | 150 |  |
Operating income (Loss) |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Estimated construction gain (loss) before tax | $ 2.4 | $ 1.3 | $ 4.1 | $ 0.2 |
Costs and Estimated Earnings in Excess of Billings |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Contracts receivable unpaid project contract price | $ 9.3 |  | $ 9.3 |  | $ 10.0

X
- Definition Amount of unpaid project contract price that the Company is entitled to. + References No definition available. + Details
Name: | strl_ContractsReceivableUnpaidProjectContractPrice
Namespace Prefix: | strl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Represents net estimated gross profit (loss) before tax. + References No definition available. + Details
Name: | strl_EstimatedConstructionGrossProfitLossBeforeTax
Namespace Prefix: | strl_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Revenue From Contract With Customer, Number Of Contracts + References No definition available. + Details
Name: | strl_RevenueFromContractWithCustomerNumberOfContracts
Namespace Prefix: | strl_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the length of time the Company's contracts generally take to complete. + References No definition available. + Details
Name: | strl_RevenueRecognitionPercentageOfCompletionRange
Namespace Prefix: | strl_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Warranty, term + References No definition available. + Details
Name: | strl_WarrantyTerm
Namespace Prefix: | strl_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=109250915&loc=d3e13531-108611 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109250915&loc=d3e13537-108611 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
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 No definition available. + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
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 -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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 -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationPercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
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: |

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=strl_HeavyCivilConstructionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=strl_CostsAndEstimatedEarningsInExcessOfBillingsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |