.elementor-3259 .elementor-element.elementor-element-798b40cc > .elementor-container{max-width:1400px;}.elementor-3259 .elementor-element.elementor-element-798b40cc{border-style:solid;border-color:#FF0303;box-shadow:0px 0px 17px 0px rgba(0,0,0,0.5);}.elementor-3259 .elementor-element.elementor-element-1e0237dc > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-7f54a669 > .elementor-container{max-width:650px;}.elementor-3259 .elementor-element.elementor-element-7f54a669{margin-top:0%;margin-bottom:0%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3259 .elementor-element.elementor-element-3960ecdb{text-align:center;}.elementor-3259 .elementor-element.elementor-element-3960ecdb .elementor-heading-title{font-family:"League Spartan", Sans-serif;font-size:26px;font-weight:400;text-transform:capitalize;color:#FF0000;}.elementor-3259 .elementor-element.elementor-element-a2b6b9{text-align:center;}.elementor-3259 .elementor-element.elementor-element-a2b6b9 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:#000000;}.elementor-3259 .elementor-element.elementor-element-5e8bb02b > .elementor-container{max-width:1400px;}.elementor-3259 .elementor-element.elementor-element-5e8bb02b{margin-top:50px;margin-bottom:0px;}.elementor-bc-flex-widget .elementor-3259 .elementor-element.elementor-element-7c1ebbe4.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-7c1ebbe4.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-7c1ebbe4 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-5bf0d084{text-align:center;}.elementor-3259 .elementor-element.elementor-element-5bf0d084 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:500;text-transform:capitalize;color:#040000;}.elementor-widget-text-editor{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3259 .elementor-element.elementor-element-4a9c99c2{text-align:center;color:#000000;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;}.elementor-bc-flex-widget .elementor-3259 .elementor-element.elementor-element-401b6e5c.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-401b6e5c.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-401b6e5c > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-53b8b6d4{text-align:center;}.elementor-3259 .elementor-element.elementor-element-53b8b6d4 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:500;text-transform:capitalize;color:#000000;}.elementor-3259 .elementor-element.elementor-element-5fc02847{width:var( --container-widget-width, 110.7% );max-width:110.7%;--container-widget-width:110.7%;--container-widget-flex-grow:0;text-align:center;color:#000000;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;}.elementor-bc-flex-widget .elementor-3259 .elementor-element.elementor-element-623fdcfc.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-623fdcfc.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-623fdcfc > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-71ee45a1{text-align:center;}.elementor-3259 .elementor-element.elementor-element-71ee45a1 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:500;text-transform:capitalize;color:#010000;}.elementor-3259 .elementor-element.elementor-element-441985d7{width:var( --container-widget-width, 107.253% );max-width:107.253%;--container-widget-width:107.253%;--container-widget-flex-grow:0;text-align:center;color:#000000;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;}.elementor-bc-flex-widget .elementor-3259 .elementor-element.elementor-element-730bcc5d.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-730bcc5d.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-3259 .elementor-element.elementor-element-730bcc5d > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-1f62053f{text-align:center;}.elementor-3259 .elementor-element.elementor-element-1f62053f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:500;text-transform:capitalize;color:#000000;}.elementor-3259 .elementor-element.elementor-element-42e7f92d{text-align:center;color:#020000;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;}.elementor-3259 .elementor-element.elementor-element-6ced3f02 > .elementor-container{max-width:1400px;}.elementor-3259 .elementor-element.elementor-element-6ced3f02{margin-top:50px;margin-bottom:0px;}.elementor-3259 .elementor-element.elementor-element-130dd27c > .elementor-element-populated{border-style:solid;border-width:0px 0px 0px 1px;border-color:rgba(1, 22, 64, 0.05);padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-519b2dd2 > .elementor-container{min-height:560px;}.elementor-3259 .elementor-element.elementor-element-519b2dd2{border-style:solid;border-color:#FB0202;box-shadow:0px 15px 61px 0px rgba(0, 0, 0, 0.05);margin-top:0px;margin-bottom:50px;}.elementor-bc-flex-widget .elementor-3259 .elementor-element.elementor-element-a475fed.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-3259 .elementor-element.elementor-element-a475fed.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-3259 .elementor-element.elementor-element-a475fed > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:30px;}.elementor-3259 .elementor-element.elementor-element-a475fed > .elementor-element-populated{padding:0px 60px 0px 60px;}.elementor-3259 .elementor-element.elementor-element-35e5d875{text-align:center;}.elementor-3259 .elementor-element.elementor-element-35e5d875 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:#000000;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group{padding-right:calc( 25px/2 );padding-left:calc( 25px/2 );margin-bottom:25px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-form-fields-wrapper{margin-left:calc( -25px/2 );margin-right:calc( -25px/2 );margin-bottom:-25px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group > label, .elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-subgroup label{color:#000000;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group > label{font-family:"League Spartan", Sans-serif;font-size:0.1em;font-weight:400;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-type-html{padding-bottom:0px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group .elementor-field{color:#000000;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group .elementor-field, .elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-color:#FF8282;border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-color:#FF8282;border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-field-group .elementor-select-wrapper::before{color:#FF8282;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-button{font-family:"League Spartan", Sans-serif;font-size:1.4em;font-weight:600;border-radius:0px 0px 0px 0px;padding:15px 40px 15px 40px;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .e-form__buttons__wrapper__button-next{background-color:#FF0000;color:#FFF7F1;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-button[type="submit"]{background-color:#FF0000;color:#FFF7F1;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-button[type="submit"] svg *{fill:#FFF7F1;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .e-form__buttons__wrapper__button-previous{background-color:#FF0202;color:#ffffff;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-58869433 );color:var( --e-global-color-3571e4d3 );}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-58869433 );color:var( --e-global-color-3571e4d3 );}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-3571e4d3 );}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-message{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-message.elementor-message-success{color:#000001;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-message.elementor-message-danger{color:#000000;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .elementor-message.elementor-help-inline{color:#00050E;}.elementor-3259 .elementor-element.elementor-element-510ef5d3 .e-form__indicators__indicator, .elementor-3259 .elementor-element.elementor-element-510ef5d3 .e-form__indicators__indicator__label{font-family:"League Spartan", Sans-serif;font-weight:500;}.elementor-3259 .elementor-element.elementor-element-510ef5d3{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}body.elementor-page-3259:not(.elementor-motion-effects-element-type-background), body.elementor-page-3259 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(max-width:1024px){.elementor-3259 .elementor-element.elementor-element-798b40cc{padding:0% 5% 0% 5%;}.elementor-3259 .elementor-element.elementor-element-308a9918 > .elementor-element-populated{padding:0% 10% 0% 10%;}.elementor-3259 .elementor-element.elementor-element-5e8bb02b{margin-top:50px;margin-bottom:0px;}.elementor-3259 .elementor-element.elementor-element-5bf0d084{text-align:center;}.elementor-3259 .elementor-element.elementor-element-4a9c99c2{text-align:center;}.elementor-3259 .elementor-element.elementor-element-53b8b6d4{text-align:center;}.elementor-3259 .elementor-element.elementor-element-5fc02847{text-align:center;}.elementor-3259 .elementor-element.elementor-element-623fdcfc > .elementor-element-populated{margin:30px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-3259 .elementor-element.elementor-element-71ee45a1{text-align:center;}.elementor-3259 .elementor-element.elementor-element-441985d7{text-align:center;}.elementor-3259 .elementor-element.elementor-element-730bcc5d > .elementor-element-populated{margin:30px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-3259 .elementor-element.elementor-element-1f62053f{text-align:center;}.elementor-3259 .elementor-element.elementor-element-42e7f92d{text-align:center;}.elementor-3259 .elementor-element.elementor-element-6ced3f02{padding:0% 5% 0% 5%;}.elementor-3259 .elementor-element.elementor-element-130dd27c > .elementor-element-populated{border-width:0px 1px 0px 1px;}.elementor-3259 .elementor-element.elementor-element-519b2dd2 > .elementor-container{min-height:0px;}.elementor-3259 .elementor-element.elementor-element-519b2dd2{margin-top:15%;margin-bottom:0%;}.elementor-3259 .elementor-element.elementor-element-a475fed > .elementor-element-populated{padding:5% 5% 5% 5%;}}@media(max-width:767px){.elementor-3259 .elementor-element.elementor-element-7f54a669{margin-top:75px;margin-bottom:0px;}.elementor-3259 .elementor-element.elementor-element-308a9918 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-3259 .elementor-element.elementor-element-401b6e5c > .elementor-element-populated{margin:30px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-3259 .elementor-element.elementor-element-519b2dd2{padding:20px 0px 20px 0px;}.elementor-3259 .elementor-element.elementor-element-35e5d875{text-align:center;}}@media(min-width:768px){.elementor-3259 .elementor-element.elementor-element-7c1ebbe4{width:21.531%;}.elementor-3259 .elementor-element.elementor-element-401b6e5c{width:30.615%;}.elementor-3259 .elementor-element.elementor-element-623fdcfc{width:30.901%;}.elementor-3259 .elementor-element.elementor-element-730bcc5d{width:16.89%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3259 .elementor-element.elementor-element-7c1ebbe4{width:50%;}.elementor-3259 .elementor-element.elementor-element-401b6e5c{width:50%;}.elementor-3259 .elementor-element.elementor-element-623fdcfc{width:50%;}.elementor-3259 .elementor-element.elementor-element-730bcc5d{width:50%;}.elementor-3259 .elementor-element.elementor-element-130dd27c{width:100%;}}/* Start custom CSS */<!--
  Copyright 2023 Google LLC

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      https://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE html>
<html>
  <head>
    <title>Locator</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/handlebars/4.7.7/handlebars.min.js"></script>
    <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
    <style>
      html,
      body {
        height: 100%;
        margin: 0;
        padding: 0;
      }

      #map-container {
        width: 100%;
        height: 100%;
        position: relative;
        font-family: "Roboto", sans-serif;
        box-sizing: border-box;
      }

      #map-container a {
        text-decoration: none;
        color: #1967d2;
      }

      #map-container button {
        background: none;
        color: inherit;
        border: none;
        padding: 0;
        font: inherit;
        font-size: inherit;
        cursor: pointer;
      }

      #gmp-map {
        position: absolute;
        left: 22em;
        top: 0;
        right: 0;
        bottom: 0;
      }

      #locations-panel {
        position: absolute;
        left: 0;
        width: 22em;
        top: 0;
        bottom: 0;
        overflow-y: auto;
        background: white;
        padding: 0.5em;
        box-sizing: border-box;
      }

      @media only screen and (max-width: 876px) {
        #gmp-map {
          left: 0;
          bottom: 50%;
        }

        #locations-panel {
          top: 50%;
          right: 0;
          width: unset;
        }
      }

      #locations-panel-list .section-name {
        font-weight: 500;
        font-size: 0.9em;
        margin: 1.8em 0 1em 1.5em;
      }

      #locations-panel-list .location-result {
        position: relative;
        padding: 0.8em 3.5em 0.8em 1.4em;
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);
        cursor: pointer;
      }

      #locations-panel-list .location-result:first-of-type {
        border-top: 1px solid rgba(0, 0, 0, 0.12);
      }

      #locations-panel-list .location-result:last-of-type {
        border-bottom: none;
      }

      #locations-panel-list .location-result.selected {
        outline: 2px solid #4285f4;
      }

      #locations-panel-list button.select-location {
        margin-bottom: 0.6em;
        text-align: left;
      }

      #locations-panel-list .location-result h2.name {
        font-size: 1em;
        font-weight: 500;
        margin: 0;
      }

      #locations-panel-list .location-result .address {
        font-size: 0.9em;
        margin-bottom: 0.5em;
      }

      #locations-panel-list .directions-button {
        position: absolute;
        right: 1.2em;
        top: 2.3em;
      }

      #locations-panel-list .directions-button-background:hover {
        fill: rgba(116,120,127,0.1);
      }

      #locations-panel-list .directions-button-background {
        fill: rgba(255,255,255,0.01);
      }

      #location-results-list {
        list-style-type: none;
        margin: 0;
        padding: 0;
      }
    </style>
    <script>
      'use strict';

      /** Helper function to generate a Google Maps directions URL */
      function generateDirectionsURL(origin, destination) {
        const googleMapsUrlBase = 'https://www.google.com/maps/dir/?';
        const searchParams = new URLSearchParams('api=1');
        searchParams.append('origin', origin);
        const destinationParam = [];
        // Add title to destinationParam except in cases where Quick Builder set
        // the title to the first line of the address
        if (destination.title !== destination.address1) {
          destinationParam.push(destination.title);
        }
        destinationParam.push(destination.address1, destination.address2);
        searchParams.append('destination', destinationParam.join(','));
        return googleMapsUrlBase + searchParams.toString();
      }

      /**
       * Defines an instance of the Locator+ solution, to be instantiated
       * when the Maps library is loaded.
       */
      function LocatorPlus(configuration) {
        const locator = this;

        locator.locations = configuration.locations || [];
        locator.capabilities = configuration.capabilities || {};

        const mapEl = document.getElementById('gmp-map');
        const panelEl = document.getElementById('locations-panel');
        locator.panelListEl = document.getElementById('locations-panel-list');
        const sectionNameEl =
            document.getElementById('location-results-section-name');
        const resultsContainerEl = document.getElementById('location-results-list');

        const itemsTemplate = Handlebars.compile(
            document.getElementById('locator-result-items-tmpl').innerHTML);

        locator.selectedLocationIdx = null;
        locator.userCountry = null;

        // Initialize the map -------------------------------------------------------
        locator.map = new google.maps.Map(mapEl, configuration.mapOptions);

        // Store selection.
        const selectResultItem = function(locationIdx, panToMarker, scrollToResult) {
          locator.selectedLocationIdx = locationIdx;
          for (let locationElem of resultsContainerEl.children) {
            locationElem.classList.remove('selected');
            if (getResultIndex(locationElem) === locator.selectedLocationIdx) {
              locationElem.classList.add('selected');
              if (scrollToResult) {
                panelEl.scrollTop = locationElem.offsetTop;
              }
            }
          }
          if (panToMarker && (locationIdx != null)) {
            locator.map.panTo(locator.locations[locationIdx].coords);
          }
        };

        // Create a marker for each location.
        const markers = locator.locations.map(function(location, index) {
          const marker = new google.maps.Marker({
            position: location.coords,
            map: locator.map,
            title: location.title,
          });
          marker.addListener('click', function() {
            selectResultItem(index, false, true);
          });
          return marker;
        });

        // Fit map to marker bounds.
        locator.updateBounds = function() {
          const bounds = new google.maps.LatLngBounds();
          for (let i = 0; i < markers.length; i++) {
            bounds.extend(markers[i].getPosition());
          }
          locator.map.fitBounds(bounds);
        };
        if (locator.locations.length) {
          locator.updateBounds();
        }

        // Render the results list --------------------------------------------------
        const getResultIndex = function(elem) {
          return parseInt(elem.getAttribute('data-location-index'));
        };

        locator.renderResultsList = function() {
          let locations = locator.locations.slice();
          for (let i = 0; i < locations.length; i++) {
            locations[i].index = i;
          }
          sectionNameEl.textContent = `All locations (${locations.length})`;
          const resultItemContext = {locations: locations};
          resultsContainerEl.innerHTML = itemsTemplate(resultItemContext);
          for (let item of resultsContainerEl.children) {
            const resultIndex = getResultIndex(item);
            if (resultIndex === locator.selectedLocationIdx) {
              item.classList.add('selected');
            }

            const resultSelectionHandler = function() {
              if (resultIndex !== locator.selectedLocationIdx) {
                selectResultItem(resultIndex, true, false);
              }
            };

            // Clicking anywhere on the item selects this location.
            // Additionally, create a button element to make this behavior
            // accessible under tab navigation.
            item.addEventListener('click', resultSelectionHandler);
            item.querySelector('.select-location')
                .addEventListener('click', function(e) {
                  resultSelectionHandler();
                  e.stopPropagation();
                });

            // Clicking the directions button will open Google Maps directions in a
            // new tab
            const origin = (locator.searchLocation != null) ?
                locator.searchLocation.location :
                '';
            const destination = locator.locations[resultIndex];
            const googleMapsUrl = generateDirectionsURL(origin, destination);
            item.querySelector('.directions-button')
                .setAttribute('href', googleMapsUrl);
          }
        };

        // Optional capability initialization --------------------------------------

        // Initial render of results -----------------------------------------------
        locator.renderResultsList();
      }
    </script>
    <script>
      const CONFIGURATION = {
        "locations": [
          {"title":"L\u0027AUTRE GALERIE","address1":"14 Rue Raugraff","address2":"Nancy, France","coords":{"lat":48.6897536,"lng":6.1816082},"placeId":"ChIJkUpn222YlEcRnMlRX78J6hY"}
        ],
        "mapOptions": {"center":{"lat":38.0,"lng":-100.0},"fullscreenControl":true,"mapTypeControl":false,"streetViewControl":false,"zoom":4,"zoomControl":true,"maxZoom":17,"mapId":""},
        "mapsApiKey": "YOUR_API_KEY_HERE",
        "capabilities": {"input":false,"autocomplete":false,"directions":false,"distanceMatrix":false,"details":false,"actions":false}
      };

      function initMap() {
        new LocatorPlus(CONFIGURATION);
      }
    </script>
    <script id="locator-result-items-tmpl" type="text/x-handlebars-template">
      {{#each locations}}
        <li class="location-result" data-location-index="{{index}}">
          <button class="select-location">
            <h2 class="name">{{title}}</h2>
          </button>
          <div class="address">{{address1}}<br>{{address2}}</div>
          <a class="directions-button" href="" target="_blank" title="Get directions to this location on Google Maps">
            <svg width="34" height="34" viewBox="0 0 34 34"
                  fill="none" xmlns="http://www.w3.org/2000/svg">
              <path d="M17.5867 9.24375L17.9403 8.8902V8.8902L17.5867 9.24375ZM16.4117 9.24375L16.7653 9.59731L16.7675 9.59502L16.4117 9.24375ZM8.91172 16.7437L8.55817 16.3902L8.91172 16.7437ZM8.91172 17.9229L8.55817 18.2765L8.55826 18.2766L8.91172 17.9229ZM16.4117 25.4187H16.9117V25.2116L16.7652 25.0651L16.4117 25.4187ZM16.4117 25.4229H15.9117V25.63L16.0582 25.7765L16.4117 25.4229ZM25.0909 17.9229L25.4444 18.2765L25.4467 18.2742L25.0909 17.9229ZM25.4403 16.3902L17.9403 8.8902L17.2332 9.5973L24.7332 17.0973L25.4403 16.3902ZM17.9403 8.8902C17.4213 8.3712 16.5737 8.3679 16.0559 8.89248L16.7675 9.59502C16.8914 9.4696 17.1022 9.4663 17.2332 9.5973L17.9403 8.8902ZM16.0582 8.8902L8.55817 16.3902L9.26527 17.0973L16.7653 9.5973L16.0582 8.8902ZM8.55817 16.3902C8.0379 16.9105 8.0379 17.7562 8.55817 18.2765L9.26527 17.5694C9.13553 17.4396 9.13553 17.227 9.26527 17.0973L8.55817 16.3902ZM8.55826 18.2766L16.0583 25.7724L16.7652 25.0651L9.26517 17.5693L8.55826 18.2766ZM15.9117 25.4187V25.4229H16.9117V25.4187H15.9117ZM16.0582 25.7765C16.5784 26.2967 17.4242 26.2967 17.9444 25.7765L17.2373 25.0694C17.1076 25.1991 16.895 25.1991 16.7653 25.0694L16.0582 25.7765ZM17.9444 25.7765L25.4444 18.2765L24.7373 17.5694L17.2373 25.0694L17.9444 25.7765ZM25.4467 18.2742C25.9631 17.7512 25.9663 16.9096 25.438 16.3879L24.7354 17.0995C24.8655 17.2279 24.8687 17.4363 24.7351 17.5716L25.4467 18.2742Z" fill="#1967d2"/>
              <path fill-rule="evenodd" clip-rule="evenodd" d="M19 19.8333V17.75H15.6667V20.25H14V16.9167C14 16.4542 14.3708 16.0833 14.8333 16.0833H19V14L21.9167 16.9167L19 19.8333Z" fill="#1967d2"/>
              <circle class="directions-button-background" cx="17" cy="17" r="16.5" stroke="#e0e0e0"/>
            </svg>
          </a>
        </li>
      {{/each}}
    </script>
  </head>
  <body>
    <div id="map-container">
      <div id="locations-panel">
        <div id="locations-panel-list">
          <div class="section-name" id="location-results-section-name">
            All locations
          </div>
          <div class="results">
            <ul id="location-results-list"></ul>
          </div>
        </div>
      </div>
      <div id="gmp-map"></div>
    </div>
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY_HERE&callback=initMap&libraries=places&solution_channel=GMP_QB_locatorplus_v7_c" async defer></script>
  </body>
</html>/* End custom CSS */