{
 "instance": {
  "escc-20180629.htm": {
   "axisCustom": 0,
   "axisStandard": 8,
   "contextCount": 126,
   "dts": {
    "calculationLink": {
     "local": [
      "escc-20180629_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "escc-20180629_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/srt/2018/elts/srt-eedm1-def-2018-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-eedm-def-2018-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "escc-20180629.htm"
     ]
    },
    "labelLink": {
     "local": [
      "escc-20180629_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-doc-2018-01-31.xml",
      "https://xbrl.sec.gov/dei/2018/dei-doc-2018-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "escc-20180629_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-ref-2018-01-31.xml",
      "https://xbrl.sec.gov/dei/2018/dei-ref-2018-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "escc-20180629.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd",
      "http://xbrl.fasb.org/srt/2018/elts/srt-roles-2018-01-31.xsd",
      "http://xbrl.fasb.org/srt/2018/elts/srt-types-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-parts-codification-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-roles-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd",
      "http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd"
     ]
    }
   },
   "elementCount": 229,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2018-01-31": 11,
    "total": 11
   },
   "keyCustom": 8,
   "keyStandard": 155,
   "memberCustom": 23,
   "memberStandard": 5,
   "nsprefix": "fil",
   "nsuri": "http://www.es.com/20180629",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000010 - Document - Document and Entity Information",
     "role": "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000100 - Disclosure - 5. Employee Retirement Benefit Plans",
     "role": "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlans",
     "shortName": "5. Employee Retirement Benefit Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccounting",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000110 - Disclosure - 1. General (Policies)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies",
     "shortName": "1. General (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccounting",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000120 - Disclosure - 1. General (Tables)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure1GeneralTables",
     "shortName": "1. General (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000130 - Disclosure - 2. Revenue (Tables)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure2RevenueTables",
     "shortName": "2. Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ComparabilityOfPriorYearFinancialData",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000140 - Disclosure - 3. Changes in Accounting Policies (Tables)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesTables",
     "shortName": "3. Changes in Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ComparabilityOfPriorYearFinancialData",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "p",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000150 - Disclosure - 4. Stock Option Plan (Tables)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanTables",
     "shortName": "4. Stock Option Plan (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "p",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNetPeriodicBenefitCostNotYetRecognizedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000160 - Disclosure - 5. Employee Retirement Benefit Plans (Tables)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansTables",
     "shortName": "5. Employee Retirement Benefit Plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNetPeriodicBenefitCostNotYetRecognizedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000170 - Disclosure - 1. General: Net Income Per Common Share (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure1GeneralNetIncomePerCommonShareDetails",
     "shortName": "1. General: Net Income Per Common Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000180 - Disclosure - 1. General: Inventories, net: Schedule of Inventory (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails",
     "shortName": "1. General: Inventories, net: Schedule of Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180330_180629_StScenario-ApplicationTotal",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:ProductApplication",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000190 - Disclosure - 2. Revenue: Schedule of geographical revenues (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails",
     "shortName": "2. Revenue: Schedule of geographical revenues (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180330_180629_StScenario-ApplicationTotal",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:ProductApplication",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000020 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:NontradeReceivablesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000200 - Disclosure - 2. Revenue: Schedule of contract balances (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfContractBalancesDetails",
     "shortName": "2. Revenue: Schedule of contract balances (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ContractBalancesTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ChangesInTheContractAssetsAndTheContractLiabilitiesTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629_IncomeStLocation-ContractRevRecognized",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000210 - Disclosure - 2. Revenue: Schedule of changes in the contract assets and the contract liabilities (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails",
     "shortName": "2. Revenue: Schedule of changes in the contract assets and the contract liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ChangesInTheContractAssetsAndTheContractLiabilitiesTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629_IncomeStLocation-ContractRevRecognized",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180401_180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000220 - Disclosure - 2. Revenue: Schedule of backlog of performance obligations (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
     "shortName": "2. Revenue: Schedule of backlog of performance obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:BacklogOfPerformanceObligationsTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629_IncomeStLocation-BacklogInSales_StScenario-RemainderOf2018",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000230 - Disclosure - 3. Changes in Accounting Policies: Schedule of impacts of accounting changes (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails",
     "shortName": "3. Changes in Accounting Policies: Schedule of impacts of accounting changes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180401_180629_StScenario-AsReported",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000240 - Disclosure - 4. Stock Option Plan (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails",
     "shortName": "4. Stock Option Plan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "E17",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000250 - Disclosure - 4. Stock Option Plan: Schedule of Stock Option Plan Activity (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails",
     "shortName": "4. Stock Option Plan: Schedule of Stock Option Plan Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180629",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000260 - Disclosure - 4. Stock Option Plan: Schedule of Stock Options Valuation Assumptions (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionsValuationAssumptionsDetails",
     "shortName": "4. Stock Option Plan: Schedule of Stock Options Valuation Assumptions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180629",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D150401_150430",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:PensionPlanSettlementAgreementPaymentSchedule2",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000270 - Disclosure - 5. Employee Retirement Benefit Plans (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails",
     "shortName": "5. Employee Retirement Benefit Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D150401_150430",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:PensionPlanSettlementAgreementPaymentSchedule2",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNetPeriodicBenefitCostNotYetRecognizedTableTextBlock",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180401_180629_RetirementPlanName-SupplementalExecutiveRetirementPlan",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000280 - Disclosure - 5. Employee Retirement Benefit Plans: Components of Net Periodic Benefit Expense (Details)",
     "role": "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails",
     "shortName": "5. Employee Retirement Benefit Plans: Components of Net Periodic Benefit Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNetPeriodicBenefitCostNotYetRecognizedTableTextBlock",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180401_180629_RetirementPlanName-SupplementalExecutiveRetirementPlan",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedBenefitPlanInterestCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockNoParValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000030 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "role": "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "I180629",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockNoParValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180401_180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000040 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "role": "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180401_180629",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000050 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000060 - Disclosure - 1. General",
     "role": "http://www.es.com/20180629/role/idr_Disclosure1General",
     "shortName": "1. General",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000070 - Disclosure - 2. Revenue",
     "role": "http://www.es.com/20180629/role/idr_Disclosure2Revenue",
     "shortName": "2. Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000080 - Disclosure - 3. Changes in Accounting Policies",
     "role": "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPolicies",
     "shortName": "3. Changes in Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000090 - Disclosure - 4. Stock Option Plan",
     "role": "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlan",
     "shortName": "4. Stock Option Plan",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "contextRef": "D180101_180629",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 28,
   "tag": {
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "If the value is true, then the document is an amendment to previously-filed/accepted document.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_ContainedFileInformationFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The SEC Document Number of the contained file.",
        "label": "Contained File Information, File Number"
       }
      }
     },
     "localname": "ContainedFileInformationFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Fiscal Year End"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This is focus fiscal period of the document report. For a first quarter 2006 quarterly report, which may also provide financial information from prior periods, the first fiscal quarter should be given as the fiscal period focus. Values: FY, Q1, Q2, Q3, Q4, H1, H2, M9, T1, T2, T3, M8, CY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Period End date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "SEC Form"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r202"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Registrant CIK"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Number of common stock shares outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Current with reporting"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r202"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated), (5) Smaller Reporting Accelerated Filer or (6) Smaller Reporting Company and Large Accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryName": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "State or Country Name where an entity is incorporated",
        "label": "Entity Incorporation, State Country Name"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryName",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "State aggregate market value of voting and non-voting common equity held by non-affiliates computed by reference to price at which the common equity was last sold, or average bid and asked price of such common equity, as of the last business day of registrant's most recently completed second fiscal quarter. The public float should be reported on the cover page of the registrants form 10K.",
        "label": "Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r202"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r202"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Tax Identification Number (TIN)"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nineDigitItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Voluntary filer"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "fil_ApplicationTotalMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Application total"
       }
      }
     },
     "localname": "ApplicationTotalMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ArchitecturalTreatmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Architectural Treatments"
       }
      }
     },
     "localname": "ArchitecturalTreatmentsMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_AsReportedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the As reported, during the indicated time period.",
        "label": "As reported"
       }
      }
     },
     "localname": "AsReportedMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_Asia1Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Asia"
       }
      }
     },
     "localname": "Asia1Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_AudioVisualSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Audio-Visual Systems"
       }
      }
     },
     "localname": "AudioVisualSystemsMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_BacklogInSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the Backlog in sales, during the indicated time period.",
        "label": "Backlog in sales"
       }
      }
     },
     "localname": "BacklogInSalesMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_BacklogOfPerformanceObligationsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule of backlog of performance obligations, during the indicated time period.",
        "label": "Schedule of backlog of performance obligations"
       }
      }
     },
     "localname": "BacklogOfPerformanceObligationsTextBlock",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_BalancesWithoutAdoptionOfTopic606Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the Balances without adoption of Topic 606, during the indicated time period.",
        "label": "Balances without adoption of Topic 606"
       }
      }
     },
     "localname": "BalancesWithoutAdoptionOfTopic606Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_CashPaidDuringThePeriodForAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the description of Cash paid during the period for:, during the indicated time period.",
        "label": "Cash paid during the period for:"
       }
      }
     },
     "localname": "CashPaidDuringThePeriodForAbstract",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_ChangesInTheContractAssetsAndTheContractLiabilitiesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule of changes in the contract assets and the contract liabilities, during the indicated time period.",
        "label": "Schedule of changes in the contract assets and the contract liabilities"
       }
      }
     },
     "localname": "ChangesInTheContractAssetsAndTheContractLiabilitiesTextBlock",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_ContractAmountBilledMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Contract amount billed"
       }
      }
     },
     "localname": "ContractAmountBilledMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ContractBalancesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule of contract balances, during the indicated time period.",
        "label": "Schedule of contract balances"
       }
      }
     },
     "localname": "ContractBalancesTextBlock",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_ContractReceivablesRecordedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Contract receivables recorded"
       }
      }
     },
     "localname": "ContractReceivablesRecordedMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ContractRevenueRecognizedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Contract revenue recognized"
       }
      }
     },
     "localname": "ContractRevenueRecognizedMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_CurrentPortionOfPensionSettlementObligation": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Common stock issued for consulting",
        "label": "Current portion of pension settlement obligation"
       }
      }
     },
     "localname": "CurrentPortionOfPensionSettlementObligation",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_DecreaseInDeferredRentObligation": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Common stock issued for consulting",
        "label": "Decrease in deferred rent obligation",
        "negatedLabel": "Decrease in deferred rent obligation"
       }
      }
     },
     "localname": "DecreaseInDeferredRentObligation",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_DomesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Domes"
       }
      }
     },
     "localname": "DomesMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_Europe1Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Europe"
       }
      }
     },
     "localname": "Europe1Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_MaintenanceAndServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Maintenance and Service"
       }
      }
     },
     "localname": "MaintenanceAndServiceMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_N2019Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the 2019, during the indicated time period.",
        "label": "2019"
       }
      }
     },
     "localname": "N2019Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_N2020Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the 2020, during the indicated time period.",
        "label": "2020"
       }
      }
     },
     "localname": "N2020Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_N2021Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the 2021, during the indicated time period.",
        "label": "2021"
       }
      }
     },
     "localname": "N2021Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_NorthAmerica1Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "North America"
       }
      }
     },
     "localname": "NorthAmerica1Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_OtherMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Other {1}",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_OtherVisitorAttractionsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Other Visitor Attractions"
       }
      }
     },
     "localname": "OtherVisitorAttractionsMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_PensionPlanSettlementAgreementPaymentSchedule2": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the description of Pension Plan Settlement Agreement, Payment Schedule, during the indicated time period.",
        "label": "Pension Plan Settlement Agreement, Payment Schedule"
       }
      }
     },
     "localname": "PensionPlanSettlementAgreementPaymentSchedule2",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_PensionSettlementObligationNetOfCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the monetary amount of Pension settlement obligation, net of current portion, as of the indicated date.",
        "label": "Pension settlement obligation, net of current portion"
       }
      }
     },
     "localname": "PensionSettlementObligationNetOfCurrentPortion",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_PlanetariumTheatersMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Planetarium Theaters"
       }
      }
     },
     "localname": "PlanetariumTheatersMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ProductApplication": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the monetary amount of Product Application, during the indicated time period.",
        "label": "Product Application"
       }
      }
     },
     "localname": "ProductApplication",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_RemainderOf2018Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the Remainder of 2018, during the indicated time period.",
        "label": "Remainder of 2018"
       }
      }
     },
     "localname": "RemainderOf2018Member",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ShowContentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of contract balances",
        "label": "Show Content"
       }
      }
     },
     "localname": "ShowContentMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_SupplementalExecutiveRetirementPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the Supplemental Executive Retirement Plan, during the indicated time period.",
        "label": "Supplemental Executive Retirement Plan"
       }
      }
     },
     "localname": "SupplementalExecutiveRetirementPlanMember",
     "nsuri": "http://www.es.com/20180629",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r102",
      "r130",
      "r132",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r104",
      "r130",
      "r133",
      "r199",
      "r200"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r30"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r17",
      "r131"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.",
        "label": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r48",
      "r49",
      "r50"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r18"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.",
        "label": "Additional paid-in-capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r71"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate amount of adjustments to net income or loss necessary to remove the effects of all items whose cash effects are investing or financing cash flows. The aggregate amount also includes all noncash expenses and income items which reduce or increase net income and are thus added back or deducted when calculating cash provided by or used in operating activities.",
        "label": "Other {2}",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r152",
      "r172",
      "r176"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.",
        "label": "Allocated Share-based Compensation Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r90"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralNetIncomePerCommonShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r99",
      "r188",
      "r193"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r5",
      "r6",
      "r47"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total current assets",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r153",
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by award type pertaining to equity-based compensation.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccounting": {
     "auth_ref": [
      "r82"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccounting",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BillingsInExcessOfCostCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Billings in excess of contract revenue"
       }
      }
     },
     "localname": "BillingsInExcessOfCostCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r3",
      "r28",
      "r73"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash, cash equivalents, and restricted cash as of beginning of the period",
        "periodEndLabel": "Cash, cash equivalents, and restricted cash as of end of the period",
        "periodStartLabel": "Cash, cash equivalents, and restricted cash as of beginning of the period"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Includes effect from exchange rate changes.",
        "label": "Net decrease in cash, cash equivalents, and restricted cash",
        "totalLabel": "Net decrease in cash, cash equivalents, and restricted cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common stock, $0.20 par value: 30,000,000 shares authorized; 11,616,866 shares issued"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComparabilityOfPriorYearFinancialData": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for reporting any exceptions to the  comparability of prior year financial data with data shown for the most recent accounting period.",
        "label": "Schedule of impacts of accounting changes"
       }
      }
     },
     "localname": "ComparabilityOfPriorYearFinancialData",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r128",
      "r129"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract revenue in excess of billings {1}",
        "terseLabel": "Contract revenue in excess of billings"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r56"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of sales",
        "negatedLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Contract revenue in excess of billings"
       }
      }
     },
     "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r35"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Pension Settlement Obligation, Interest Rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DeferredRentCreditNoncurrent": {
     "auth_ref": [
      "r37",
      "r186"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For a classified balance sheet, the cumulative difference between the rental income or payments required by a lease agreement and the rental income or expense recognized on a straight-line basis, or other systematic and rational basis more representative of the time pattern in which use or benefit is granted or derived from the leased property, expected to be recognized in income or expense, by the lessor or lessee, respectively, more than one year after the balance sheet date.",
        "label": "Deferred rent obligation"
       }
      }
     },
     "localname": "DeferredRentCreditNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses": {
     "auth_ref": [
      "r143",
      "r148",
      "r149"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan.",
        "label": "Amortization of actuarial loss"
       }
      }
     },
     "localname": "DefinedBenefitPlanAmortizationOfGainsLosses",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths": {
     "auth_ref": [
      "r140"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of benefits for defined benefit plan expected to be paid in next fiscal year following latest fiscal year.",
        "label": "Expected Future Benefit Payments, Next Twelve Months"
       }
      }
     },
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "auth_ref": [
      "r138",
      "r142",
      "r147",
      "r149"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan.",
        "label": "Interest cost"
       }
      }
     },
     "localname": "DefinedBenefitPlanInterestCost",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "auth_ref": [
      "r141",
      "r146",
      "r149"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan.",
        "label": "Net periodic benefit expense"
       }
      }
     },
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r71",
      "r117"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r127",
      "r177"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for compensation-related costs for equity-based compensation, which may include disclosure of policies, compensation plan details, allocation of equity compensation, incentive distributions, equity-based arrangements to obtain goods and services, deferred compensation arrangements, employee stock ownership plan details and employee stock purchase plan details.",
        "label": "4. Stock Option Plan"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlan"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r53",
      "r83",
      "r86",
      "r87",
      "r88",
      "r89",
      "r93",
      "r191",
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Net income (loss) per common share - basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r53",
      "r83",
      "r86",
      "r87",
      "r88",
      "r89",
      "r93",
      "r191",
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Net income (loss) per common share - diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r77",
      "r90",
      "r91",
      "r92"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Net Income Per Common Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r173"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average period over which unrecognized compensation is expected to be recognized for equity-based compensation plans, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "auth_ref": [
      "r173"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Unrecognized cost of unvested options awarded to employees as compensation.",
        "label": "Total unrecognized share-based compensation cost"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An arrangement whereby an employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction. Options may be used to attract, retain and incentivize employees, in addition to their regular salary and other benefits.",
        "label": "Employee Stock Option"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r114",
      "r115"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (loss) before income tax provision",
        "totalLabel": "Income (loss) before income tax provision"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r119"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r79",
      "r98",
      "r179"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income tax provision",
        "negatedLabel": "Income tax provision"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r68",
      "r74"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (decrease) in accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase in accounts receivable",
        "negatedLabel": "Increase in accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (decrease) in accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred.",
        "label": "Increase in billings in excess of contract revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInBillingInExcessOfCostOfEarnings",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r70"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Increase (Decrease) in Contract with Customer, Asset"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r70"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in the asset reflecting the cost incurred on uncompleted contracts in excess of related billings.",
        "label": "Increase in contract revenue in excess of billings",
        "negatedLabel": "Increase in contract revenue in excess of billings"
       }
      }
     },
     "localname": "IncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Decrease (increase) in inventories",
        "negatedLabel": "Decrease (increase) in inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInLeasingReceivables": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount due from lessees arising from lease agreements.",
        "label": "Decrease in lease receivable",
        "negatedLabel": "Decrease in lease receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInLeasingReceivables",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r70"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase in contract liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPensionAndPostretirementObligations": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for pension and other postretirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans.",
        "label": "Decrease in accrued pension and retirement liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInPensionAndPostretirementObligations",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase in prepaid expenses and other assets",
        "negatedLabel": "Increase in prepaid expenses and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaid": {
     "auth_ref": [
      "r74"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount; classified as operating and investing activities.",
        "label": "Interest"
       }
      }
     },
     "localname": "InterestPaid",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r4",
      "r44",
      "r109"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventories, net",
        "totalLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r9",
      "r45",
      "r77",
      "r94",
      "r110",
      "r112"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventories, net {1}",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r43"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r44",
      "r81",
      "r109",
      "r113"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Reserve for obsolete inventory",
        "negatedLabel": "Reserve for obsolete inventory"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.",
        "label": "Work in process"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralInventoriesNetScheduleOfInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r57",
      "r107",
      "r108",
      "r111"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Provision for excess and obsolete inventory"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r22",
      "r189",
      "r195"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Total liabilities and stockholders' equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r34"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Current portion of long-term debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term debt, net of current portion"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net cash used in financing activities",
        "totalLabel": "Net cash used in financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net cash used in investing activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r67",
      "r69",
      "r72"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net cash provided by operating activities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Other expense, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NontradeReceivablesCurrent": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Current portion of lease receivable"
       }
      }
     },
     "localname": "NontradeReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NontradeReceivablesNoncurrent": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The noncurrent portion of the receivable other than from customers, that is amounts expected to be collected after one year or the normal operating cycle, if longer.",
        "label": "Long-term lease receivable, net of current portion"
       }
      }
     },
     "localname": "NontradeReceivablesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Total operating expenses",
        "negatedTotalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating income (loss)",
        "totalLabel": "Operating income (loss)"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r2",
      "r82",
      "r95",
      "r185"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows.  Describes procedure if disclosures are provided in more than one note to the financial statements.",
        "label": "1. General"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1General"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAdditionalCapital": {
     "auth_ref": [
      "r40",
      "r62"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of additional paid-in capital (APIC) classified as other.",
        "label": "Others {2}",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherAdditionalCapital",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r13",
      "r187",
      "r192"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Others"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCostAndExpenseOperating": {
     "auth_ref": [
      "r58"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The total amount of other operating cost and expense items that are associated with the entity's normal revenue producing operation.",
        "label": "Others {3}",
        "negatedLabel": "Others"
       }
      }
     },
     "localname": "OtherCostAndExpenseOperating",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilities": {
     "auth_ref": [
      "r190"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other.",
        "label": "Others {1}",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r7",
      "r8",
      "r33"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Current"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example,  cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "Other"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Purchases of property and equipment",
        "negatedLabel": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r150"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for pension and other postretirement benefits.",
        "label": "5. Employee Retirement Benefit Plans"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent": {
     "auth_ref": [
      "r14",
      "r136",
      "r137",
      "r139"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent.",
        "label": "Retirement obligations, net of current portion"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits.",
        "label": "Pension",
        "negatedLabel": "Pension"
       }
      }
     },
     "localname": "PensionExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PostemploymentBenefitsLiabilityCurrent": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For a classified balance sheet, the carrying amount as of the balance sheet date of the portion of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement that is payable within one year of the balance sheet date.",
        "label": "Current portion of retirement obligations"
       }
      }
     },
     "localname": "PostemploymentBenefitsLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PreferredStockNoParValue": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, No Par Value"
       }
      }
     },
     "localname": "PreferredStockNoParValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred stock, no par value: 10,000,000 shares authorized; no shares outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r5",
      "r26",
      "r27"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses and deposits"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from sale of property and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r51",
      "r52",
      "r66",
      "r99",
      "r101",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net income",
        "totalLabel": "Net income (loss)"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r11",
      "r12",
      "r118",
      "r196"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Principal payments on long-term debt",
        "negatedLabel": "Principal payments on long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r178",
      "r201"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development",
        "negatedLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r3",
      "r10",
      "r73",
      "r75"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r19",
      "r124",
      "r194"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetirementPlanNameAxis": {
     "auth_ref": [
      "r145"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.",
        "label": "Retirement Plan Name [Axis]"
       }
      }
     },
     "localname": "RetirementPlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanNameDomain": {
     "auth_ref": [
      "r145"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.",
        "label": "Retirement Plan Name"
       }
      }
     },
     "localname": "RetirementPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r82",
      "r135"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "2. Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2Revenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r103"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.",
        "label": "Schedule of geographical revenues"
       }
      }
     },
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r76",
      "r77",
      "r78"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue recognition. If the entity has different policies for different types of revenue transactions, the policy for each material type of transaction is generally disclosed. If a sales transaction has multiple element arrangements (for example, delivery of multiple products, services or the rights to use assets) the disclosure may indicate the accounting policy for each unit of accounting as well as how units of accounting are determined and valued. The disclosure may encompass important judgment as to appropriateness of principles related to recognition of revenue. The disclosure also may indicate the entity's treatment of any unearned or deferred revenue that arises from the transaction.",
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r54",
      "r96",
      "r97",
      "r100"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Sales"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScenarioAdjustmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Domain member used to indicate figures that are adjustments during a period or as of a point in time. This domain member would never be expected to appear in a relationship group without the \"Scenario, Previously Reported\" Member with the same parent.",
        "label": "Scenario, Adjustment"
       }
      }
     },
     "localname": "ScenarioAdjustmentMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScenarioUnspecifiedDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Any scenario, that is, the particular reporting scenario is left unspecified. Scenarios distinguish among different kinds of business reporting facts, as for example actual versus budgeted figures.",
        "label": "Scenario, Unspecified"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r9",
      "r23",
      "r24",
      "r25"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNetPeriodicBenefitCostNotYetRecognizedTableTextBlock": {
     "auth_ref": [
      "r144"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the amounts related to pension plans and/or other employee benefit plans in accumulated other comprehensive income or loss that have not yet been recognized as components of net periodic benefit cost, such as the net gain (loss), net prior service cost or credit, and net transition asset or obligation.",
        "label": "Components of Net Periodic Benefit Expense"
       }
      }
     },
     "localname": "ScheduleOfNetPeriodicBenefitCostNotYetRecognizedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r157",
      "r164",
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Schedule of Stock Option Plan Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Stock Options Valuation Assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r59",
      "r106"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, general and administrative",
        "negatedLabel": "Selling, general and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [
      "r61"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r170"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r171"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Risk-free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of shares (or other type of equity) originally approved (usually by shareholders and board of directors), net of any subsequent amendments and adjustments, for awards under the equity-based compensation plan. As stock or unit options and equity instruments other than options are awarded to participants, the shares or units remain authorized and become reserved for issuance under outstanding awards (not necessarily vested).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Exercisable as of the end of the period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Exercisable as of the end of the period, weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r163"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.",
        "label": "Forfeited or expired",
        "negatedLabel": "Forfeited or expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r163"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Forfeited or expired, weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "auth_ref": [
      "r161"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Net number of share options (or share units) granted during the period.",
        "label": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r174"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Options, Outstanding, Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r159",
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Outstanding as of the end of the period",
        "periodStartLabel": "Outstanding as of the beginning of the period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r158"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Outstanding as of the end of the period, weighted average exercise price",
        "periodStartLabel": "Outstanding as of the beginning of the period, weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r151",
      "r155"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity-based compensation award.",
        "label": "Equity Award"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Granted, weighted average exercise price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r77",
      "r153",
      "r156"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for stock option and stock incentive plans. This disclosure may include (1) the types of stock option or incentive plans sponsored by the entity (2) the groups that participate in (or are covered by) each plan (3) significant plan provisions and (4) how stock compensation is measured, and the methodologies and significant assumptions used to determine that measurement.",
        "label": "Stock-Based Compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure1GeneralPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r168",
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Expected term of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Expected life"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r174"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Options, Exercisable, Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Options exercisable, weighted average remaining contractual term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Options outstanding, weighted average remaining contractual term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r82"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "3. Changes in Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r1",
      "r99",
      "r116",
      "r120",
      "r121",
      "r122",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementScenarioAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by scenario to be reported. Scenarios distinguish among different kinds of business reporting facts, as for example actual versus budgeted figures.",
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfBacklogOfPerformanceObligationsDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfChangesInTheContractAssetsAndTheContractLiabilitiesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails",
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansComponentsOfNetPeriodicBenefitExpenseDetails",
      "http://www.es.com/20180629/role/idr_Disclosure5EmployeeRetirementBenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r15",
      "r16",
      "r123",
      "r124",
      "r162"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Exercised",
        "negatedLabel": "Exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure4StockOptionPlanScheduleOfStockOptionPlanActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r16",
      "r20",
      "r21",
      "r105"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Total stockholders' equity",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.es.com/20180629/role/idr_Disclosure3ChangesInAccountingPoliciesScheduleOfImpactsOfAccountingChangesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stockholders' equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Supplemental disclosures of cash flow information"
       }
      }
     },
     "localname": "SupplementalCashFlowElementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "localname": "TableTextBlockSupplementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Details"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r130",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing of Transfer of Good or Service"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r130",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Transferred at Point in Time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r130",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Transferred over Time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_Disclosure2RevenueScheduleOfGeographicalRevenuesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r38",
      "r125"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r38",
      "r125",
      "r126"
     ],
     "calculation": {
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Common stock in treasury, at cost, 264,350 shares",
        "negatedLabel": "Common stock in treasury, at cost, 264,350 shares"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r85",
      "r89"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted average common shares outstanding - diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r84",
      "r89"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted average common shares outstanding - basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.es.com/20180629/role/idr_CONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONS"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 4
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=35735333&loc=d3e288-107754"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=SL66093879-108312"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=SL66093883-108312"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=d3e3927-108312"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=66092785&loc=d3e4492-108314"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=66092785&loc=d3e4542-108314"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=66092785&loc=d3e4556-108314"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "50",
   "Topic": "505",
   "URI": "http://asc.fasb.org/subtopic&trid=2208855"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130531-203044"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=82913815&loc=SL49130533-203044"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1703-114919"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1731-114919"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(24))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e2410-114920"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e2709-114920"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e2709-114920"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e2709-114920"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=112275985&loc=d3e4179-114921"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)-(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=84234705&loc=SL4591551-111686"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=84234705&loc=SL4591552-111686"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=77902458&loc=d3e39927-112707"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99384497&loc=SL65671331-158438"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=6589523&loc=d3e617274-123014"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r202": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.26(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(c)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30(a)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e637-108580"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e681-108580"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669686-108580"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.3)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6801-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.T)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868742-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3179-108585"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3000-108585"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3521-108585"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6904-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3044-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4297-108586"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=SL98516268-108586"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18726-107790"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6911-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1448-109256"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1505-109256"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1252-109256"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=SL5780133-109256"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1337-109256"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109256448&loc=d3e4984-109258"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=109236672&loc=d3e543-108305"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  }
 },
 "version": "2.0"
}
