XML 130 R111.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Stock-Based Compensation and Other Employee Benefits - Additional Information (Details) - USD ($) $ in Thousands | 1 Months Ended | 12 Months Ended |
--- | --- | --- | ---
May 31, 2020 | Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2017
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Stock-based compensation expense |  | $ 10,318 | $ 15,046 | $ 8,716 |
401(k) plan |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Employer matching contribution percent |  | 100.00% |  |  |
Employer matching percent |  | 6.00% |  |  |
Group Personal Pension Plan | UNITED KINGDOM |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Employer matching contribution percent |  | 100.00% |  |  |
Employer matching percent |  | 6.00% |  |  |
Registered Retirement Savings Plan | Canada |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Employer matching contribution percent |  | 100.00% |  |  |
Employer matching percent |  | 6.00% |  |  |
Stock Options and Restricted Stock Units |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Non-vested stock options unrecognized compensation expense |  | $ 30,075 |  |  |
Non-vested stock options unrecognized compensation expense, weighted-average period of recognition |  | 2 years |  |  |
Restricted Stock Units |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Non-vested stock options unrecognized compensation expense, weighted-average period of recognition |  | 1 year |  |  |
Stock-based compensation expense |  | $ 1,690 |  |  |
Vested (in shares) |  | 23,000 |  |  |
Non-vested stock options unrecognized compensation expense |  | $ 1,604 |  |  |
Stock Options |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Expiration period |  | 10 years |  |  |
Ratable vesting percentage |  | 33.33% |  |  |
Exercise term upon termination |  | 90 days |  |  |
Stock Options | Maximum |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Options vesting period |  | 5 years |  |  |
Stock Options | Minimum |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Options vesting period |  | 3 years |  |  |
Class A Common Stock |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Shares available for grant (in shares) |  | 1,991,000 |  |  |
2017 Employee Stock Purchase Plan | Stock Options |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |
Number of allocated shares (up to) (in shares) | 350 |  |  |  | 200
Discount from fair value of stock (percent) | 5.00% |  |  |  |
Interval term | 6 months |  |  |  |
Stock issued during period (in shares) |  | 60,000 | 36,000 |  |
Amount withheld for future purchases |  | $ 182 | $ 179 |  |

X
- Definition Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Interval Term + References No definition available. + Details
Name: | amrc_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceIntervalTerm
Namespace Prefix: | amrc_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Share-based Compensation Arrangement by Share-based Payment Award, Exercise Term Upon Termination + References No definition available. + Details
Name: | amrc_ShareBasedCompensationArrangementByShareBasedPaymentAwardExerciseTermUponTermination
Namespace Prefix: | amrc_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Share-Based Compensation Arrangement by Share-Based Payment Award, Withholdings For Future Purchases, Amount + References No definition available. + Details
Name: | amrc_ShareBasedCompensationArrangementByShareBasedPaymentAwardWithholdingsForFuturePurchasesAmount
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of expense for award under share-based payment arrangement. Excludes amount capitalized. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.F) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (h)(1)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_AllocatedShareBasedCompensationExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage employer matches of the employee's percentage contribution matched. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost not yet recognized for nonvested award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Discount rate from fair value on purchase date that participants pay for shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(02) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
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 Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 35 -Paragraph 1D -Publisher FASB -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 35 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(01) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(02) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(03) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(01) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(02) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(03) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (d)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (e)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(i) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iv) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (f)(2)(v) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares authorized for issuance under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of shares issued under share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of vesting of award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=amrc_A401kMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=country_GB
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=country_CA
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=amrc_StockOptionsAndRestrictedStockUnitsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember
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: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=amrc_A2017EmployeeStockPurchasePlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |