XML 54 R43.htm IDEA: XBRL DOCUMENT
v3.21.2

Revenue From Customers - Narrative (Details) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended |
--- | --- | --- | ---
Sep. 30, 2021 | Sep. 30, 2020 | Sep. 30, 2021 | Sep. 30, 2020 | Dec. 31, 2020
Costs and Estimated Earnings in Excess of Billings |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Contracts receivable unpaid project contract price | $ 13,900 |  | $ 13,900 |  | $ 7,142
Operating income (Loss) |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |
Estimated construction gain (loss) before tax | $ (354) | $ 2,725 | $ 11,678 | $ 5,017 |

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 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 cost incurred on construction contract for unapproved change order, claim, or similar item subject to uncertainty. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 910 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=6471471&loc=d3e48698-109348 + Details
Name: | us-gaap_UnapprovedChangeOrdersAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=strl_CostsAndEstimatedEarningsInExcessOfBillingsMember
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: |