diff --git a/quasar.conf.js b/quasar.conf.js
index 13bf7fc8bc3c51dadc0ae307aed1777acffad54b..b8f3fd42c7d8137b36902f4aba8610fdc2ed0b2b 100644
--- a/quasar.conf.js
+++ b/quasar.conf.js
@@ -33,7 +33,7 @@ module.exports = configure(function (/* ctx */) {
     extras: [
       // 'ionicons-v4',
       // 'mdi-v5',
-      // 'fontawesome-v5',
+      'fontawesome-v5',
       // 'eva-icons',
       // 'themify',
       // 'line-awesome',
diff --git a/src-cordova/package-lock.json b/src-cordova/package-lock.json
index 59257622f43c62604129017f83395b20ae6b5915..dee41ba30becedaf727c6d7ce602725279e49363 100644
--- a/src-cordova/package-lock.json
+++ b/src-cordova/package-lock.json
@@ -163,6 +163,12 @@
         "underscore": "^1.9.2"
       }
     },
+    "cordova-plugin-geolocation": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-geolocation/-/cordova-plugin-geolocation-4.1.0.tgz",
+      "integrity": "sha512-y5io/P10xGMxSn2KEqfv/fExK47eA1pmSonJdmDqDsaSADV9JpgdPx0mUSA08+5pzma/OS9R0LoODeDPx7Jvjg==",
+      "dev": true
+    },
     "cordova-plugin-whitelist": {
       "version": "1.3.4",
       "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.4.tgz",
diff --git a/src-cordova/package.json b/src-cordova/package.json
index 06be3a14b01179b93973e2d5387f894ca3426ca5..60b5eaaeea3dd2e1167835783b25b8f41c086ac4 100644
--- a/src-cordova/package.json
+++ b/src-cordova/package.json
@@ -14,11 +14,15 @@
   "license": "Apache-2.0",
   "devDependencies": {
     "cordova-android": "^9.0.0",
+    "cordova-plugin-geolocation": "^4.1.0",
     "cordova-plugin-whitelist": "^1.3.4"
   },
   "cordova": {
     "plugins": {
-      "cordova-plugin-whitelist": {}
+      "cordova-plugin-whitelist": {},
+      "cordova-plugin-geolocation": {
+        "GPS_REQUIRED": "true"
+      }
     },
     "platforms": [
       "android"
diff --git a/src/components/EventForm.vue b/src/components/EventForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..aa8be1507ba48f67a0a5a007c6656874aeb673cb
--- /dev/null
+++ b/src/components/EventForm.vue
@@ -0,0 +1,103 @@
+<template lang="pug">
+q-card.full-width
+  //- Create Event Header
+  q-card-section.bg-blue-grey-1(style='padding: 8px')
+    span.text-subtitle1.text-weight-light.text-blue-grey-10.q-ml-sm Create your event
+    q-chip.float-right(
+      @click='submitEvent()',
+      clickable,
+      color='primary',
+      text-color='white',
+      icon='done',
+      style='margin-top: -1px'
+    ) Submit Event
+  //- Create Event Form
+  q-card-section
+    //- Event name field
+    .row.q-pb-md
+      q-input.full-width(
+        v-model='name',
+        rounded,
+        outlined,
+        :dense='true',
+        label='Event Name',
+        placeholder='Birthday Party'
+      )
+        template(v-slot:before)
+          span.text-subtitle1.text-blue-grey-10 Name of your Event:&nbsp&nbsp
+    //- Date and Time field
+    span.text-subtitle1.text-blue-grey-10.q-pt-sm Date and Time:
+    .row.q-pb-md.no-wrap
+      q-input(v-model='date', rounded, outlined, type='date', :dense='true', hint='Date of Event', style='width: 60%')
+      q-input.q-ml-sm(
+        v-model='time',
+        rounded,
+        outlined,
+        type='time',
+        :dense='true',
+        hint='Time of the Event',
+        style='width: 40%'
+      )
+    //- Location of Event field
+    .row.q-pb-md
+      span.text-subtitle1.text-blue-grey-10 Where?:
+      q-input.full-width(rounded, outlined, v-model='places', label='Search places', :dense='true')
+        template(v-slot:prepend)
+          q-icon(name='place')
+        template(v-slot:append)
+          q-icon.cursor-pointer(name='search', @click='searchPlaces()')
+    //- Invite friends field
+    .row.q-pb-md
+      span.text-subtitle1.text-blue-grey-10 Invite your friends:
+      q-input.full-width(rounded, outlined, v-model='friends', label='Search friends', :dense='true')
+        template(v-slot:prepend)
+          q-icon(name='person_add')
+        template(v-slot:append)
+          q-icon.cursor-pointer(name='search', @click='searchFriends()')
+    //- Event icon field
+    .text-subtitle1.text-blue-grey-10 Choose an icon for your Event:
+    .row.q-pb-md.justify-around
+      img(src='https://img.icons8.com/dusk/50/000000/home.png')
+      img(src='https://img.icons8.com/dusk/50/000000/party-baloons.png')
+      img(src='https://img.icons8.com/dusk/50/000000/dancing-party.png')
+      img(src='https://img.icons8.com/dusk/50/000000/champagne.png')
+      img(src='https://img.icons8.com/dusk/50/000000/dj.png')
+      img(src='https://img.icons8.com/dusk/50/000000/gift.png')
+    //- Event details field
+    .row
+      span.text-subtitle1.text-blue-grey-10 Details:
+      q-input.full-width(
+        rounded,
+        outlined,
+        autogrow,
+        v-model='details',
+        placeholder='Dress code, specifications, directions etc.',
+        :dense='true'
+      )
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      name: null,
+      date: null,
+      time: null,
+      places: null,
+      friends: null,
+      details: null
+    }
+  },
+  methods: {
+    searchPlaces() {
+      console.log('searching places')
+    },
+    searchFriends() {
+      console.log('searching friends')
+    },
+    submitEvent() {
+      console.log('submit event')
+    }
+  }
+}
+</script>
\ No newline at end of file
diff --git a/src/components/Friends.vue b/src/components/Friends.vue
index 93fe388dce297e4bee299f9fa31bda864716eaf7..9fa19e92fe3db8c3f5e0e60dbc1a039f8749bda3 100644
--- a/src/components/Friends.vue
+++ b/src/components/Friends.vue
@@ -1,15 +1,17 @@
 <template lang="pug">
-q-page.flex.q-pa-nd
-  q-list.full-width(seperator='')
-    q-item(v-for='user in users', :key='user.id', to='/chat', clickable, v-ripple)
-      q-item-section(avatar='')
-        q-avatar(color='primary', text-color='white')
-          | {{ user.name.charAt(0) }}
-      q-item-section
-        q-item-label {{ user.name }}
-      q-item-section(side='')
-        q-badge(:color='user.online ? "light-green-5" : "gray-4"')
-          | {{  user.online ? &apos;Online&apos; : &apos;Offline&apos;  }}
+q-toolbar.bg-primary.text-white.shadow-2
+  q-toolbar-title Contacts
+q-list(bordered)
+  q-item.q-my-sm(v-for='user in users', :key='user.id', to='/chat', clickable, v-ripple)
+    q-item-section(avatar)
+      q-avatar(color='primary', text-color='white')
+        | {{ user.name.charAt(0) }}
+    q-item-section
+      q-item-label.text-weight-light.text-subtitle2 {{ user.name }}
+    q-item-section(side)
+      q-icon(name='chat_bubble', :color='user.online ? "light-green-6" : "blue-grey-5"')
+q-toolbar.absolute-bottom.bg-primary.text-white.shadow-2
+  q-btn(@click='addFriends()', icon='person_add', flat, dense, label='Add Friends')
 </template>
 
 <script>
@@ -39,6 +41,11 @@ export default {
         }
       ]
     }
+  },
+  methods: {
+    addFriends() {
+      console.log('clicked')
+    }
   }
 }
 </script>
diff --git a/src/components/GoogleMap.vue b/src/components/GoogleMap.vue
index 1059ad46254b0148f271fddbbe521d2f1891cc6a..72387db259334b26c1c41b1f443095deaa5caa08 100644
--- a/src/components/GoogleMap.vue
+++ b/src/components/GoogleMap.vue
@@ -1,15 +1,21 @@
 <template lang="pug">
-div(style='position: relative')
-  div(ref='map', style='width: 100vw; height: 100vh; z-index: 0')
-  q-toggle(
-    @click='toggleHeatmap()',
-    v-if='heatmap',
-    v-model='toggle',
-    icon='warning',
-    size='5em',
-    color='red',
-    style='position: absolute; left: 5px; top: 5px; z-index: 1'
-  )
+div(ref='map', style='min-height: inherit; z-index: 0')
+q-toggle(
+  @click='toggleHeatmap()',
+  v-if='heatmap',
+  v-model='toggle',
+  icon='warning',
+  size='5em',
+  color='red',
+  style='position: absolute; left: 0.5em; bottom: 2em; z-index: 1'
+)
+q-btn(
+  @click='centerMap()',
+  fab,
+  color='black',
+  icon='my_location',
+  style='position: absolute; right: 1.25em; bottom: 2.5em; z-index: 1'
+)
 </template> 
 
 <script>
@@ -36,6 +42,12 @@ export default {
       this.heatmap.setMap(this.heatmap.getMap() ? null : this.map)
     },
 
+    // Centers the map on user position when the button is presed
+    centerMap() {
+      this.map.setCenter(new google.maps.LatLng(this.center.lat, this.center.lng))
+      this.map.setZoom(15)
+    },
+
     /*********************
       APIs IMPLEMENTATION
     **********************/
@@ -61,7 +73,7 @@ export default {
         alert('Geolocation is not supported by this browser.')
       }
     },
-    // Set center variable to current estimated coordinates
+    // Finds 20 places related to keyword 'nightlife' in 1500m proximity of center coordinates
     async findPlaces() {
       const URL = `https://secret-ocean-49799.herokuapp.com/https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=${this.center.lat},${this.center.lng}
                     &radius=1500
@@ -131,6 +143,12 @@ export default {
         disableDefaultUI: true
       })
 
+      // Initializes your position on the map
+      new google.maps.Marker({
+        position: new google.maps.LatLng(this.center.lat, this.center.lng),
+        map: map
+      })
+
       // Add marker for every nightlife establishment along with an info window
       await this.findPlaces()
       this.places.forEach(place => {
diff --git a/src/components/Login.vue b/src/components/Login.vue
index a99734c41879b67b0420c920d782f1b5189a98ef..74cd2870f7c636f68b995d79ad9d1d9265997d53 100644
--- a/src/components/Login.vue
+++ b/src/components/Login.vue
@@ -1,11 +1,39 @@
 <template lang="pug">
-q-form(@submit='submitForm')
-  q-input.q-mb-md(v-if='tab == "register"', outlined='', type='name', v-model='formData.name', label='Name')
-  q-input.q-mb-md(outlined='', type='email', v-model='formData.email', label='Email')
-  q-input.q-mb-md(outlined='', type='password', v-model='formData.password', label='Password')
-  .row
-    q-space
-    q-btn(color='primary', type='submit', :label='tab')
+q-form.q-pa-lg(@submit='submitForm')
+  q-input.q-mb-md(v-model='email', type='email', label='Email')
+    template(v-slot:prepend)
+      q-icon(name='email')
+  q-input.q-mb-md(v-model='username', v-if='tab == "register"', type='username', label='Username')
+    template(v-slot:prepend)
+      q-icon(name='person')
+  q-input.q-mb-md(type='password', v-model='password', label='Password')
+    template(v-slot:prepend)
+      q-icon(name='lock')
+  //- Register only
+  q-card-section(v-if='tab == "register"')
+    .text-center.q-pa-sm.q-gutter-xl
+      q-btn(round, color='indigo-7', size='lg')
+        q-icon(name='fab fa-facebook-f', size='1.7rem')
+      q-btn(round, color='red-8', size='lg')
+        q-icon(name='fab fa-google-plus-g', size='1.7rem')
+      q-btn(round, color='light-blue-5', size='lg')
+        q-icon(name='fab fa-twitter', size='1.7rem')
+  q-card-actions.q-pt-lg
+    q-btn.full-width(
+      color='primary',
+      type='submit',
+      :label='tab == "login" ? "Sign In" : "Get Started"',
+      size='xl',
+      unelevated
+    )
+  //- Register only
+  q-card-section.text-subtitle1.text-center.q-pt-sm(v-if='tab == "register"', style='padding-bottom: 0px')
+    p.text-grey-6.q-mb-none Return to login
+  //- Login only
+  q-card-section.text-subtitle1.text-center.q-pt-sm(v-if='tab == "login"', style='padding-bottom: 0px')
+    p.text-grey-6.q-mb-none Forgot your password?
+  q-card-section.cursor-pointer.text-subtitle1.text-center.q-pa-xs(@click='$router.go(-1)', style='padding-top: 0px')
+    p.text-grey-6 Go back
 </template>
 
 <script>
@@ -13,10 +41,9 @@ export default {
   props: ['tab'],
   data() {
     return {
-      formData: {
-        email: '',
-        password: ''
-      }
+      email: '',
+      username: '',
+      password: ''
     }
   },
   methods: {
diff --git a/src/components/SignalForm.vue b/src/components/SignalForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..8693f50d67d64a33ac51baa0f014d195ed850822
--- /dev/null
+++ b/src/components/SignalForm.vue
@@ -0,0 +1,71 @@
+<template lang="pug">
+q-card.full-width
+  //- Create Signal Header
+  q-card-section.bg-blue-grey-1(style='padding: 8px')
+    span.text-subtitle1.text-weight-light.text-blue-grey-10.q-ml-sm Create new signal
+    q-chip.float-right(
+      @click='submitSignal()',
+      clickable,
+      color='accent',
+      text-color='white',
+      icon='done',
+      style='margin-top: -1px'
+    ) Create Signal
+  //- Create Signal Form
+  q-card-section
+    //- Event name field
+    .row.q-pb-md
+      span.text-subtitle1.text-blue-grey-10 Type of signal:
+      q-select.full-width(
+        v-model='signalType',
+        :options='options',
+        label='Signal type',
+        transition-show='flip-up',
+        transition-hide='flip-down',
+        rounded,
+        outlined
+      )
+        template(v-slot:prepend)
+          q-icon(:name='icon')
+    //- Event details field
+    .row
+      span.text-subtitle1.text-blue-grey-10 Details:
+      q-input.full-width(v-model='details', rounded, outlined, autogrow, placeholder='Describe the situation')
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      signalType: null,
+      options: ['Danger', 'Emergency', 'Fight Breakout', 'Free Drinks', 'Car Rental'],
+      details: null
+    }
+  },
+
+  methods: {
+    submitSignal() {
+      console.log(this.signalType)
+    }
+  },
+
+  computed: {
+    icon() {
+      switch (this.signalType) {
+        case 'Danger':
+          return 'warning'
+        case 'Emergency':
+          return 'medical_services'
+        case 'Fight Breakout':
+          return 'reduce_capacity'
+        case 'Free Drinks':
+          return 'liquor'
+        case 'Car Rental':
+          return 'car_rental'
+        default:
+          return 'add_location'
+      }
+    }
+  }
+}
+</script>
\ No newline at end of file
diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue
index 579368692afeb52befd1de769fef8b16f7f99f4a..3fe427ab2c03ddf255443ce22beee69950de3b2c 100644
--- a/src/layouts/MainLayout.vue
+++ b/src/layouts/MainLayout.vue
@@ -1,46 +1,69 @@
 <template lang="pug">
 q-layout(view='lHh Lpr lFf')
-  q-drawer.bg-white(v-model='leftDrawer', show-if-above, bordered, :width='200')
-    q-scroll-area(style='height: calc(100% - 150px); margin-top: 150px; border-right: 1px solid #ddd')
+  //- Left Drawer 
+  q-drawer.bg-white(v-model='leftDrawer', show-if-above, :width='200')
+    q-scroll-area(style='height: calc(100% - 150px); margin-top: 150px')
       q-list.padding
         template(v-for='(menuItem, index) in menuList', :key='index')
-          q-item(clickable, :active='menuItem.label === "Outbox"', v-ripple)
+          q-item(clickable, v-ripple, :to='menuItem.link')
             q-item-section(avatar)
               q-icon(:name='menuItem.icon', :color='menuItem.color')
             q-item-section
               | {{ menuItem.label }}
           q-separator(:key='"sep" + index', v-if='menuItem.separator')
-    q-img.absolute-top(src='https://cdn.quasar.dev/img/material.png', style='height: 150px')
-      .absolute-bottom.bg-transparent
-        q-avatar.q-mb-sm(size='56px')
-          img(src='https://cdn.quasar.dev/img/boy-avatar.png')
+    q-img.absolute-top(
+      src='https://i.pinimg.com/564x/a8/1e/01/a81e01701e045f8f70c71dd324c5a87a.jpg',
+      style='height: 150px'
+    )
+      .row.absolute-bottom.bg-transparent.justify-center
+        q-avatar(size='6.5em')
+          img(
+            src='https://avataaars.io/?avatarStyle=Circle&topType=Eyepatch&facialHairType=Blank&clotheType=ShirtVNeck&clotheColor=Pink&eyeType=Squint&eyebrowType=AngryNatural&mouthType=Default&skinColor=Light'
+          )
         .text-weight-bold Razvan Stoenescu
         div @rstoenescu
-  q-drawer.bg-white(v-model='rightDrawer', side='right', show-if-above, bordered)
+  //- Right Drawer
+  q-drawer.bg-white(v-model='rightDrawer', side='right', :width='250', show-if-above)
     Friends
+  //- Bottom Drawers
+  q-dialog(v-model='newEvent', position='bottom')
+    EventForm
+  q-dialog(v-model='newSignal', position='bottom')
+    SignalForm
+  //- Page container and floating buttons
   q-page-container
     router-view
     q-page-sticky(position='top-left', :offset='[18, 18]')
       q-btn(@click='leftDrawer = !leftDrawer', round, outline, color='cyan-1', icon='more_horiz')
-    q-page-sticky(position='bottom-right', :offset='[18, 36]')
+    q-page-sticky(position='bottom-right', :offset='[18, 105]')
       q-btn(@click='rightDrawer = !rightDrawer', fab, color='primary', icon='chat')
+    q-page-sticky(position='bottom', :offset='[18, 36]')
+      q-fab(vertical-actions-align='center', color='secondary', icon='add', direction='up')
+        q-fab-action(@click='newEvent = true', color='orange', icon='add_location', label='New Event')
+        q-fab-action(@click='newSignal = true', color='accent', icon='notification_add', label='New Signal')
 </template>
 
 <script>
 import Friends from 'components/Friends.vue'
+import EventForm from 'components/EventForm.vue'
+import SignalForm from 'components/SignalForm.vue'
 import { mapState } from 'vuex'
 
 export default {
   name: 'MainLayout',
 
   components: {
-    Friends
+    Friends,
+    EventForm,
+    SignalForm
   },
 
   data() {
     return {
       leftDrawer: false,
-      rightDrawer: false
+      rightDrawer: false,
+      newEvent: false,
+      newSignal: false
     }
   },
 
diff --git a/src/pages/Auth.vue b/src/pages/Auth.vue
index bcf776ba8a1842f471f7f6d488832f106fe8634a..d5843685304e2e50b8f5cecab2b01fe37dd5cfa5 100644
--- a/src/pages/Auth.vue
+++ b/src/pages/Auth.vue
@@ -1,19 +1,17 @@
 <template lang='pug'>
 q-layout.shadow-2.rounded-borders(view='lHh Lpr lff')
   q-page-container
-    q-page.flex.q-pa-md
-      q-card.full-width
-        q-tabs.text-grey(
-          v-model='tab',
-          dense,
-          active-color='primary',
-          indicator-color='primary',
-          align='justify',
-          narrow-indicator
-        )
+    q-page.flex.justify-center(
+      style='background: linear-gradient(129deg, rgba(106, 98, 255, 1) 0%, rgba(0, 212, 255, 1) 100%)'
+    )
+      q-card.full-width(style='max-width: 1024px')
+        q-card-section.row.bg-primary.justify-center
+          h4.text-h4.text-white.q-my-lg Welcome to NightLyfe
+        q-tabs.text-grey(v-model='tab', active-color='primary', indicator-color='primary', align='justify')
           q-tab(name='login', label='Login')
           q-tab(name='register', label='Register')
         q-separator
+
         q-tab-panels(v-model='tab', animated)
           q-tab-panel(name='login')
             login-register(:tab='tab')
diff --git a/src/pages/Index.vue b/src/pages/Index.vue
index 53ae0a1dcc4cb6a64000d40496e751621fc5a6a9..f56b8771f523f6dd3a61728e204219110d6cc520 100644
--- a/src/pages/Index.vue
+++ b/src/pages/Index.vue
@@ -1,5 +1,5 @@
 <template lang="pug">
-q-page.flex.flex-center
+q-page
   GoogleMap
 </template> 
 
diff --git a/src/router/routes.js b/src/router/routes.js
index 90d3b8572de9bd7f92d765087112bc01d5822c63..39ab736adba90e511f75900ac6c90fdd0e1aae7c 100644
--- a/src/router/routes.js
+++ b/src/router/routes.js
@@ -15,6 +15,7 @@ const routes = [
     ]
   },
   { path: '/auth', component: () => import( 'pages/Auth.vue')},
+  { path: '/userinfo', component: () => import( 'pages/UserInfo.vue')},
   // Always leave this as last one,
   // but you can also remove it
   {
diff --git a/src/store/index.js b/src/store/index.js
index ae788d744dda335a349b35b64cd2b23603819692..3e08ded29cd28900f02c4c9d4a436b1fb3ae0806 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -17,152 +17,420 @@ export default store(function (/* { ssrContext } */) {
     state: {
       menuList: [
         {
-          icon: 'inbox',
-          label: 'Inbox',
-          color: 'black',
-          separator: true
-        },
-        {
-          icon: 'send',
-          label: 'Outbox',
+          icon: 'account_circle',
+          label: 'User',
           color: 'blue',
+          link: '/userinfo',
           separator: false
         },
         {
-          icon: 'delete',
-          label: 'Trash',
-          color: 'black',
-          separator: false
-        },
+            icon: 'settings',
+            label: 'Settings',
+            color: 'blue-grey-7',
+            link: '',
+            separator: true
+          },
         {
-          icon: 'error',
-          label: 'Spam',
-          color: 'red',
-          separator: true
+            icon: 'help',
+            label: 'Privacy',
+            color: 'accent',
+            link: '',
+            separator: false
         },
         {
-          icon: 'settings',
-          label: 'Settings',
-          color: 'gray',
+          icon: 'error',
+          label: 'Report a Problem',
+          color: 'red-6',
+          link: '',
           separator: false
         },
         {
           icon: 'feedback',
           label: 'Send Feedback',
           color: 'orange',
-          separator: false
+          link: '',
+          separator: true
         },
         {
-          icon: 'help',
-          label: 'Help',
-          color: 'green',
-          separator: false
-        }
+        icon: 'login',
+        label: 'Login',
+        color: 'green',
+        link: '/auth',
+        separator: false
+      },
+
       ],
       mapStyles: [
         {
-          featureType: 'water',
-          elementType: 'geometry',
-          stylers: [
-            {
-              color: '#193341'
-            }
-          ]
-        },
-        {
-          featureType: 'landscape',
-          elementType: 'geometry',
-          stylers: [
-            {
-              color: '#2c5a71'
-            }
-          ]
-        },
-        {
-          featureType: 'road',
-          elementType: 'geometry',
-          stylers: [
-            {
-              color: '#29768a'
-            },
-            {
-              lightness: -37
-            }
-          ]
-        },
-        {
-          featureType: 'poi',
-          elementType: 'geometry',
-          stylers: [
-            {
-              color: '#406d80'
-            }
-          ]
-        },
-        {
-          featureType: 'transit',
-          elementType: 'geometry',
-          stylers: [
-            {
-              color: '#406d80'
-            }
-          ]
-        },
-        {
-          elementType: 'labels.text.stroke',
-          stylers: [
-            {
-              visibility: 'on'
-            },
-            {
-              color: '#3e606f'
-            },
-            {
-              weight: 2
-            },
-            {
-              gamma: 0.84
-            }
-          ]
-        },
-        {
-          elementType: 'labels.text.fill',
-          stylers: [
-            {
-              color: '#ffffff'
-            }
-          ]
-        },
-        {
-          featureType: 'administrative',
-          elementType: 'geometry',
-          stylers: [
-            {
-              weight: 0.6
-            },
-            {
-              color: '#1a3541'
-            }
-          ]
-        },
-        {
-          elementType: 'labels.icon',
-          stylers: [
-            {
-              visibility: 'off'
-            }
-          ]
-        },
-        {
-          featureType: 'poi.park',
-          elementType: 'geometry',
-          stylers: [
-            {
-              color: '#2c5a71'
-            }
-          ]
+            "featureType": "all",
+            "elementType": "labels",
+            "stylers": [
+                {
+                    "visibility": "on"
+                }
+            ]
+        },
+        {
+            "featureType": "all",
+            "elementType": "labels.text",
+            "stylers": [
+                {
+                    "visibility": "on"
+                }
+            ]
+        },
+        {
+            "featureType": "all",
+            "elementType": "labels.text.fill",
+            "stylers": [
+                {
+                    "saturation": 36
+                },
+                {
+                    "color": "#dee6f0"
+                },
+                {
+                    "lightness": 40
+                },
+                {
+                    "visibility": "on"
+                }
+            ]
+        },
+        {
+            "featureType": "all",
+            "elementType": "labels.text.stroke",
+            "stylers": [
+                {
+                    "visibility": "off"
+                },
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 16
+                }
+            ]
+        },
+        {
+            "featureType": "all",
+            "elementType": "labels.icon",
+            "stylers": [
+                {
+                    "visibility": "off"
+                },
+                {
+                    "hue": "#ff0000"
+                }
+            ]
+        },
+        {
+            "featureType": "administrative",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#353c44"
+                },
+                {
+                    "lightness": 20
+                }
+            ]
+        },
+        {
+            "featureType": "administrative",
+            "elementType": "geometry.stroke",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 17
+                },
+                {
+                    "weight": 1.2
+                }
+            ]
+        },
+        {
+            "featureType": "landscape",
+            "elementType": "geometry",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 20
+                }
+            ]
+        },
+        {
+            "featureType": "landscape",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#1c1e25"
+                }
+            ]
+        },
+        {
+            "featureType": "landscape.man_made",
+            "elementType": "labels.text",
+            "stylers": [
+                {
+                    "visibility": "on"
+                }
+            ]
+        },
+        {
+            "featureType": "landscape.man_made",
+            "elementType": "labels.icon",
+            "stylers": [
+                {
+                    "visibility": "on"
+                },
+                {
+                    "hue": "#e0ff00"
+                }
+            ]
+        },
+        {
+            "featureType": "poi",
+            "elementType": "geometry",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 21
+                }
+            ]
+        },
+        {
+            "featureType": "poi",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#1e212b"
+                }
+            ]
+        },
+        {
+            "featureType": "poi",
+            "elementType": "labels.text",
+            "stylers": [
+                {
+                    "visibility": "on"
+                }
+            ]
+        },
+        {
+            "featureType": "poi",
+            "elementType": "labels.icon",
+            "stylers": [
+                {
+                    "visibility": "on"
+                }
+            ]
+        },
+        {
+            "featureType": "poi.park",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#365231"
+                }
+            ]
+        },
+        {
+            "featureType": "road.highway",
+            "elementType": "all",
+            "stylers": [
+                {
+                    "visibility": "off"
+                }
+            ]
+        },
+        {
+            "featureType": "road.highway",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "lightness": 17
+                },
+                {
+                    "saturation": "11"
+                }
+            ]
+        },
+        {
+            "featureType": "road.highway",
+            "elementType": "geometry.stroke",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 29
+                },
+                {
+                    "weight": 0.2
+                }
+            ]
+        },
+        {
+            "featureType": "road.highway",
+            "elementType": "labels.text.fill",
+            "stylers": [
+                {
+                    "visibility": "simplified"
+                }
+            ]
+        },
+        {
+            "featureType": "road.highway",
+            "elementType": "labels.icon",
+            "stylers": [
+                {
+                    "hue": "#ff7a00"
+                },
+                {
+                    "saturation": "79"
+                },
+                {
+                    "visibility": "on"
+                },
+                {
+                    "lightness": "-33"
+                },
+                {
+                    "gamma": "0.63"
+                }
+            ]
+        },
+        {
+            "featureType": "road.arterial",
+            "elementType": "geometry",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 18
+                }
+            ]
+        },
+        {
+            "featureType": "road.arterial",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#256a72"
+                },
+                {
+                    "saturation": "61"
+                }
+            ]
+        },
+        {
+            "featureType": "road.local",
+            "elementType": "geometry",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 16
+                }
+            ]
+        },
+        {
+            "featureType": "road.local",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "gamma": "1"
+                },
+                {
+                    "lightness": "0"
+                },
+                {
+                    "color": "#2d414b"
+                }
+            ]
+        },
+        {
+            "featureType": "transit",
+            "elementType": "geometry",
+            "stylers": [
+                {
+                    "color": "#000000"
+                },
+                {
+                    "lightness": 19
+                },
+                {
+                    "visibility": "off"
+                }
+            ]
+        },
+        {
+            "featureType": "transit.line",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#eb0202"
+                }
+            ]
+        },
+        {
+            "featureType": "transit.station",
+            "elementType": "geometry.fill",
+            "stylers": [
+                {
+                    "color": "#ff1d00"
+                },
+                {
+                    "saturation": "-35"
+                },
+                {
+                    "lightness": "-47"
+                }
+            ]
+        },
+        {
+            "featureType": "transit.station",
+            "elementType": "labels.icon",
+            "stylers": [
+                {
+                    "hue": "#00d4ff"
+                },
+                {
+                    "visibility": "simplified"
+                },
+                {
+                    "lightness": "0"
+                },
+                {
+                    "saturation": "0"
+                },
+                {
+                    "gamma": "0.5"
+                }
+            ]
+        },
+        {
+            "featureType": "water",
+            "elementType": "geometry",
+            "stylers": [
+                {
+                    "color": "#69bbcf"
+                },
+                {
+                    "lightness": 17
+                }
+            ]
         }
-      ]
+    ]
     },
     modules: {
       // example