Maps Builder – Google Maps Plugin - Version 2.0

Version Description

  • General: This update focused on fixing a lot of pre-existing bugs commonly submitted to WordPress.org as well as improving the plugin base for future code enhancements.
  • New: Enhanced Full Screen Maps Builder mode that allows you to build maps in a customizer-like experience.
  • New: Widget for inserting maps into your theme's sidebars #39 @see: https://github.com/WordImpress/google-maps-builder/issues/39
  • New: Shortcode builder integrated into TinyMCE to make adding maps to your posts a breeze. @see: https://github.com/WordImpress/google-maps-builder/issues/24
  • New: Upgrade process for maps using Google's old reference ID in place for the new Place_ID @see: https://github.com/WordImpress/google-maps-builder/issues/18
  • New: Switch and Test all Google Places API calls to "Reference ID" or "ID" to Google's new "Places ID"
  • New: Gulp implemented for minifying scripts
  • New: Uber cool new logo design and mascot: "Marko the Map Builder"
  • New: Control the map height with a new control to select percentage or pixel height values @see: https://github.com/WordImpress/google-maps-builder/issues/13
  • New: You can now choose whether or not you want to see the place info within your infowindows @see: https://github.com/WordImpress/google-maps-builder/issues/62
  • Improvement: Upgraded CMB1 to CMB2
  • Improvement: Class improvements and modernized structure organization
  • Improvement: Plugin structure significantly changed to better reflect our development preference. The current structure is similar to Give, EDD, and other reputable plugins.
  • Improvement: Swapped out Thickbox for Magnific popup @see: https://github.com/WordImpress/google-maps-builder/issues/11
  • Improvement: Register scripts and styles properly prior to enqueuing them for other plugins and themes
  • Improvement: Marker Creation Improvements - 1) Sometimes markers disappear in the post edit screen. 2) Sometimes markers don't get output on the front end correctly. 3)Sometimes markers don't get generated in the post edit screen at all.
  • Fix: Investigated + resolved several Google Maps API conflicts - Often when a user has a theme or plugin that registers Google Maps it breaks our plugin or ours breaks theirs. We now check for other Google Map enqueues, and if present the plugin attempts to dequeue them in favor for ours. So far this has fixed issues with Uber Menu 3, Contact Forms 7, as well as many additional plugins.
  • Fix: Maps placed in hidden tabs now redraw properly when the tab is selected
  • Fix: Found and resolved conflict with ACF plugin Google Maps field
  • Fix: Removed non-functional marker upload field (will be added to Pro version in a much enhanced format).
  • Fix: Maps icons fixed to no longer show first character incorrectly @see: https://github.com/scottdejonge/Map-Icons/issues/26
  • General: The plugin's official name has dropped the word "Google" for brand compliance. It's now called "Maps Builder"
  • General: Removed "Places API Key" field because Google Maps API doesn't require it to query the library
  • General: Added "Google Maps API Key" field to track API usage within Google's Developer Console @see: https://github.com/WordImpress/google-maps-builder/issues/48
  • General: Javascript cleanup and optimization
Download this release

Release Info

Developer dlocc
Plugin Icon 128x128 Maps Builder – Google Maps Plugin
Version 2.0
Comparing to
See all releases

Code changes from version 1.0.4 to 2.0

Files changed (274) hide show
  1. GulpFile.js +155 -0
  2. README.md +96 -0
  3. README.txt +66 -32
  4. admin/assets/css/admin-settings.css +0 -394
  5. admin/assets/css/admin-settings.min.css +0 -1
  6. admin/assets/css/admin-widget.css +0 -459
  7. admin/assets/css/admin-widget.min.css +0 -1
  8. admin/assets/css/admin.css +0 -713
  9. admin/assets/css/admin.min.css +0 -1
  10. admin/assets/css/grid.min.css +0 -1
  11. admin/assets/css/index.php +0 -1
  12. admin/assets/img/help.png +0 -0
  13. admin/assets/js/admin-google-map.min.js +0 -1
  14. admin/assets/js/admin-settings.min.js +0 -1
  15. admin/assets/js/admin-widget.js +0 -267
  16. admin/assets/js/admin-widget.min.js +0 -1
  17. admin/assets/js/index.php +0 -1
  18. admin/class-wordpress-google-maps-admin.php +0 -785
  19. admin/class-wordpress-google-maps-settings.php +0 -423
  20. admin/includes/index.php +0 -1
  21. admin/includes/tooltips/jquery.qtip.min.css +0 -2
  22. admin/includes/tooltips/jquery.qtip.min.js +0 -4
  23. admin/includes/tooltips/jquery.qtip.min.map +0 -1
  24. admin/views/admin-widget.php +0 -61
  25. admin/views/index.php +0 -1
  26. admin/views/logo-svg-small.php +0 -33
  27. admin/views/logo-svg.php +0 -34
  28. admin/views/markers.php +0 -224
  29. admin/views/settings-page.php +0 -86
  30. admin/views/social-media.php +0 -45
  31. assets/css/gmb-admin.css +2688 -0
  32. assets/css/gmb-admin.css.map +1 -0
  33. assets/css/gmb-admin.min.css +34 -0
  34. assets/css/google-maps-builder.css +119 -0
  35. assets/css/google-maps-builder.css.map +1 -0
  36. assets/css/google-maps-builder.min.css +24 -0
  37. {admin/assets → assets}/img/arrows.png +0 -0
  38. assets/img/default-icon-green-no-dot.png +0 -0
  39. assets/img/default-icon-green.png +0 -0
  40. assets/img/default-icons/blue-blank.png +0 -0
  41. assets/img/default-icons/blue-dot.png +0 -0
  42. assets/img/default-icons/blue_MarkerA.png +0 -0
  43. assets/img/default-icons/blue_MarkerB.png +0 -0
  44. assets/img/default-icons/blue_MarkerC.png +0 -0
  45. assets/img/default-icons/blue_MarkerD.png +0 -0
  46. assets/img/default-icons/blue_MarkerE.png +0 -0
  47. assets/img/default-icons/blue_MarkerF.png +0 -0
  48. assets/img/default-icons/blue_MarkerG.png +0 -0
  49. assets/img/default-icons/blue_MarkerH.png +0 -0
  50. assets/img/default-icons/blue_MarkerI.png +0 -0
  51. assets/img/default-icons/blue_MarkerJ.png +0 -0
  52. assets/img/default-icons/blue_MarkerK.png +0 -0
  53. assets/img/default-icons/blue_MarkerL.png +0 -0
  54. assets/img/default-icons/blue_MarkerM.png +0 -0
  55. assets/img/default-icons/blue_MarkerN.png +0 -0
  56. assets/img/default-icons/blue_MarkerO.png +0 -0
  57. assets/img/default-icons/blue_MarkerP.png +0 -0
  58. assets/img/default-icons/blue_MarkerQ.png +0 -0
  59. assets/img/default-icons/blue_MarkerR.png +0 -0
  60. assets/img/default-icons/blue_MarkerS.png +0 -0
  61. assets/img/default-icons/blue_MarkerT.png +0 -0
  62. assets/img/default-icons/blue_MarkerU.png +0 -0
  63. assets/img/default-icons/blue_MarkerV.png +0 -0
  64. assets/img/default-icons/blue_MarkerW.png +0 -0
  65. assets/img/default-icons/blue_MarkerX.png +0 -0
  66. assets/img/default-icons/blue_MarkerY.png +0 -0
  67. assets/img/default-icons/blue_MarkerZ.png +0 -0
  68. assets/img/default-icons/brown-blank.png +0 -0
  69. assets/img/default-icons/brown-dot.png +0 -0
  70. assets/img/default-icons/brown_MarkerA.png +0 -0
  71. assets/img/default-icons/brown_MarkerB.png +0 -0
  72. assets/img/default-icons/brown_MarkerC.png +0 -0
  73. assets/img/default-icons/brown_MarkerD.png +0 -0
  74. assets/img/default-icons/brown_MarkerE.png +0 -0
  75. assets/img/default-icons/brown_MarkerF.png +0 -0
  76. assets/img/default-icons/brown_MarkerG.png +0 -0
  77. assets/img/default-icons/brown_MarkerH.png +0 -0
  78. assets/img/default-icons/brown_MarkerI.png +0 -0
  79. assets/img/default-icons/brown_MarkerJ.png +0 -0
  80. assets/img/default-icons/brown_MarkerK.png +0 -0
  81. assets/img/default-icons/brown_MarkerL.png +0 -0
  82. assets/img/default-icons/brown_MarkerM.png +0 -0
  83. assets/img/default-icons/brown_MarkerN.png +0 -0
  84. assets/img/default-icons/brown_MarkerO.png +0 -0
  85. assets/img/default-icons/brown_MarkerP.png +0 -0
  86. assets/img/default-icons/brown_MarkerQ.png +0 -0
  87. assets/img/default-icons/brown_MarkerR.png +0 -0
  88. assets/img/default-icons/brown_MarkerS.png +0 -0
  89. assets/img/default-icons/brown_MarkerT.png +0 -0
  90. assets/img/default-icons/brown_MarkerU.png +0 -0
  91. assets/img/default-icons/brown_MarkerV.png +0 -0
  92. assets/img/default-icons/brown_MarkerW.png +0 -0
  93. assets/img/default-icons/brown_MarkerX.png +0 -0
  94. assets/img/default-icons/brown_MarkerY.png +0 -0
  95. assets/img/default-icons/brown_MarkerZ.png +0 -0
  96. assets/img/default-icons/darkgreen-blank.png +0 -0
  97. assets/img/default-icons/darkgreen-dot.png +0 -0
  98. assets/img/default-icons/darkgreen_MarkerA.png +0 -0
  99. assets/img/default-icons/darkgreen_MarkerB.png +0 -0
  100. assets/img/default-icons/darkgreen_MarkerC.png +0 -0
  101. assets/img/default-icons/darkgreen_MarkerD.png +0 -0
  102. assets/img/default-icons/darkgreen_MarkerE.png +0 -0
  103. assets/img/default-icons/darkgreen_MarkerF.png +0 -0
  104. assets/img/default-icons/darkgreen_MarkerG.png +0 -0
  105. assets/img/default-icons/darkgreen_MarkerH.png +0 -0
  106. assets/img/default-icons/darkgreen_MarkerI.png +0 -0
  107. assets/img/default-icons/darkgreen_MarkerJ.png +0 -0
  108. assets/img/default-icons/darkgreen_MarkerK.png +0 -0
  109. assets/img/default-icons/darkgreen_MarkerL.png +0 -0
  110. assets/img/default-icons/darkgreen_MarkerM.png +0 -0
  111. assets/img/default-icons/darkgreen_MarkerN.png +0 -0
  112. assets/img/default-icons/darkgreen_MarkerO.png +0 -0
  113. assets/img/default-icons/darkgreen_MarkerP.png +0 -0
  114. assets/img/default-icons/darkgreen_MarkerQ.png +0 -0
  115. assets/img/default-icons/darkgreen_MarkerR.png +0 -0
  116. assets/img/default-icons/darkgreen_MarkerS.png +0 -0
  117. assets/img/default-icons/darkgreen_MarkerT.png +0 -0
  118. assets/img/default-icons/darkgreen_MarkerU.png +0 -0
  119. assets/img/default-icons/darkgreen_MarkerV.png +0 -0
  120. assets/img/default-icons/darkgreen_MarkerW.png +0 -0
  121. assets/img/default-icons/darkgreen_MarkerX.png +0 -0
  122. assets/img/default-icons/darkgreen_MarkerY.png +0 -0
  123. assets/img/default-icons/darkgreen_MarkerZ.png +0 -0
  124. assets/img/default-icons/green-blank.png +0 -0
  125. assets/img/default-icons/green-dot.png +0 -0
  126. assets/img/default-icons/green_MarkerA.png +0 -0
  127. assets/img/default-icons/green_MarkerB.png +0 -0
  128. assets/img/default-icons/green_MarkerC.png +0 -0
  129. assets/img/default-icons/green_MarkerD.png +0 -0
  130. assets/img/default-icons/green_MarkerE.png +0 -0
  131. assets/img/default-icons/green_MarkerF.png +0 -0
  132. assets/img/default-icons/green_MarkerG.png +0 -0
  133. assets/img/default-icons/green_MarkerH.png +0 -0
  134. assets/img/default-icons/green_MarkerI.png +0 -0
  135. assets/img/default-icons/green_MarkerJ.png +0 -0
  136. assets/img/default-icons/green_MarkerK.png +0 -0
  137. assets/img/default-icons/green_MarkerL.png +0 -0
  138. assets/img/default-icons/green_MarkerM.png +0 -0
  139. assets/img/default-icons/green_MarkerN.png +0 -0
  140. assets/img/default-icons/green_MarkerO.png +0 -0
  141. assets/img/default-icons/green_MarkerP.png +0 -0
  142. assets/img/default-icons/green_MarkerQ.png +0 -0
  143. assets/img/default-icons/green_MarkerR.png +0 -0
  144. assets/img/default-icons/green_MarkerS.png +0 -0
  145. assets/img/default-icons/green_MarkerT.png +0 -0
  146. assets/img/default-icons/green_MarkerU.png +0 -0
  147. assets/img/default-icons/green_MarkerV.png +0 -0
  148. assets/img/default-icons/green_MarkerW.png +0 -0
  149. assets/img/default-icons/green_MarkerX.png +0 -0
  150. assets/img/default-icons/green_MarkerY.png +0 -0
  151. assets/img/default-icons/green_MarkerZ.png +0 -0
  152. assets/img/default-icons/icons.png +0 -0
  153. assets/img/default-icons/orange-blank.png +0 -0
  154. assets/img/default-icons/orange-dot.png +0 -0
  155. assets/img/default-icons/orange_MarkerA.png +0 -0
  156. assets/img/default-icons/orange_MarkerB.png +0 -0
  157. assets/img/default-icons/orange_MarkerC.png +0 -0
  158. assets/img/default-icons/orange_MarkerD.png +0 -0
  159. assets/img/default-icons/orange_MarkerE.png +0 -0
  160. assets/img/default-icons/orange_MarkerF.png +0 -0
  161. assets/img/default-icons/orange_MarkerG.png +0 -0
  162. assets/img/default-icons/orange_MarkerH.png +0 -0
  163. assets/img/default-icons/orange_MarkerI.png +0 -0
  164. assets/img/default-icons/orange_MarkerJ.png +0 -0
  165. assets/img/default-icons/orange_MarkerK.png +0 -0
  166. assets/img/default-icons/orange_MarkerL.png +0 -0
  167. assets/img/default-icons/orange_MarkerM.png +0 -0
  168. assets/img/default-icons/orange_MarkerN.png +0 -0
  169. assets/img/default-icons/orange_MarkerO.png +0 -0
  170. assets/img/default-icons/orange_MarkerP.png +0 -0
  171. assets/img/default-icons/orange_MarkerQ.png +0 -0
  172. assets/img/default-icons/orange_MarkerR.png +0 -0
  173. assets/img/default-icons/orange_MarkerS.png +0 -0
  174. assets/img/default-icons/orange_MarkerT.png +0 -0
  175. assets/img/default-icons/orange_MarkerU.png +0 -0
  176. assets/img/default-icons/orange_MarkerV.png +0 -0
  177. assets/img/default-icons/orange_MarkerW.png +0 -0
  178. assets/img/default-icons/orange_MarkerX.png +0 -0
  179. assets/img/default-icons/orange_MarkerY.png +0 -0
  180. assets/img/default-icons/orange_MarkerZ.png +0 -0
  181. assets/img/default-icons/pageblue-blank.png +0 -0
  182. assets/img/default-icons/pageblue-dot.png +0 -0
  183. assets/img/default-icons/paleblue-blank.png +0 -0
  184. assets/img/default-icons/paleblue-dot.png +0 -0
  185. assets/img/default-icons/paleblue_MarkerA.png +0 -0
  186. assets/img/default-icons/paleblue_MarkerB.png +0 -0
  187. assets/img/default-icons/paleblue_MarkerC.png +0 -0
  188. assets/img/default-icons/paleblue_MarkerD.png +0 -0
  189. assets/img/default-icons/paleblue_MarkerE.png +0 -0
  190. assets/img/default-icons/paleblue_MarkerF.png +0 -0
  191. assets/img/default-icons/paleblue_MarkerG.png +0 -0
  192. assets/img/default-icons/paleblue_MarkerH.png +0 -0
  193. assets/img/default-icons/paleblue_MarkerI.png +0 -0
  194. assets/img/default-icons/paleblue_MarkerJ.png +0 -0
  195. assets/img/default-icons/paleblue_MarkerK.png +0 -0
  196. assets/img/default-icons/paleblue_MarkerL.png +0 -0
  197. assets/img/default-icons/paleblue_MarkerM.png +0 -0
  198. assets/img/default-icons/paleblue_MarkerN.png +0 -0
  199. assets/img/default-icons/paleblue_MarkerO.png +0 -0
  200. assets/img/default-icons/paleblue_MarkerP.png +0 -0
  201. assets/img/default-icons/paleblue_MarkerQ.png +0 -0
  202. assets/img/default-icons/paleblue_MarkerR.png +0 -0
  203. assets/img/default-icons/paleblue_MarkerS.png +0 -0
  204. assets/img/default-icons/paleblue_MarkerT.png +0 -0
  205. assets/img/default-icons/paleblue_MarkerU.png +0 -0
  206. assets/img/default-icons/paleblue_MarkerV.png +0 -0
  207. assets/img/default-icons/paleblue_MarkerW.png +0 -0
  208. assets/img/default-icons/paleblue_MarkerX.png +0 -0
  209. assets/img/default-icons/paleblue_MarkerY.png +0 -0
  210. assets/img/default-icons/paleblue_MarkerZ.png +0 -0
  211. assets/img/default-marker.png +0 -0
  212. assets/img/help.png +0 -0
  213. {admin/assets → assets}/img/icons-app-000.svg +0 -0
  214. {admin/assets → assets}/img/icons-infowindow-002.svg +0 -0
  215. includes/assets/img/loading.GIF → assets/img/loading-large.GIF +0 -0
  216. assets/img/loading.gif +0 -0
  217. assets/img/map-mascot.svg +39 -0
  218. assets/img/maps-builder-logo-no-pro.svg +66 -0
  219. assets/img/maps-builder-logo-small-non-pro.png +0 -0
  220. assets/img/maps-builder-logo-small.png +0 -0
  221. assets/img/maps-builder-mascot.png +0 -0
  222. {admin/assets → assets}/img/marker-btn.png +0 -0
  223. {admin/assets → assets}/img/new-window-icon.png +0 -0
  224. {admin/assets → assets}/img/powered-by-google-on-white.png +0 -0
  225. {includes/assets → assets}/img/review_stars.png +0 -0
  226. assets/img/spinner-2x.gif +0 -0
  227. {admin/assets → assets}/img/spinner.gif +0 -0
  228. assets/img/spotlight-poi.png +0 -0
  229. {public/assets → assets}/img/temp-marker.png +0 -0
  230. {admin/assets → assets}/img/wordimpress-logo-small.png +0 -0
  231. {admin/assets/js → assets/js/admin}/admin-google-map.js +317 -286
  232. assets/js/admin/admin-google-map.min.js +1 -0
  233. assets/js/admin/admin-maps-controls.js +205 -0
  234. assets/js/admin/admin-maps-controls.min.js +1 -0
  235. assets/js/admin/admin-maps-magnific.js +169 -0
  236. assets/js/admin/admin-maps-magnific.min.js +1 -0
  237. {admin/assets/js → assets/js/admin}/admin-settings.js +6 -3
  238. assets/js/admin/admin-settings.min.js +1 -0
  239. assets/js/admin/admin-shortcode.js +117 -0
  240. assets/js/admin/admin-shortcode.min.js +1 -0
  241. assets/js/admin/admin-widget.js +39 -0
  242. assets/js/admin/admin-widget.min.js +1 -0
  243. assets/js/admin/maps-shortcode-placeholder.jpg +0 -0
  244. assets/js/admin/shortcode-iframe.js +124 -0
  245. assets/js/admin/shortcode-iframe.min.js +1 -0
  246. {admin/assets/js → assets/js/admin}/snazzy.json +0 -0
  247. {public/assets/js → assets/js/frontend}/google-maps-builder.js +99 -38
  248. assets/js/frontend/google-maps-builder.min.js +1 -0
  249. assets/js/plugins/gmb-magnific.js +4 -0
  250. assets/js/plugins/gmb-magnific.min.js +1 -0
  251. {admin/includes/tooltips → assets/js/plugins}/jquery.qtip.js +3 -3
  252. assets/js/plugins/jquery.qtip.min.js +3 -0
  253. assets/scss/admin/_mixins.scss +64 -0
  254. assets/scss/admin/builder.scss +619 -0
  255. assets/scss/admin/cmb2-custom.scss +286 -0
  256. assets/scss/admin/gmb-admin.scss +19 -0
  257. assets/scss/admin/magnific-builder.scss +317 -0
  258. assets/scss/admin/modal-markers.scss +216 -0
  259. assets/scss/admin/settings.scss +266 -0
  260. assets/scss/admin/widget.scss +36 -0
  261. assets/scss/frontend/infowindow.scss +104 -0
  262. assets/scss/frontend/maps-builder.scss +11 -0
  263. assets/scss/frontend/maps.scss +33 -0
  264. admin/assets/css/grid.css → assets/scss/plugins/grid.scss +0 -0
  265. assets/scss/plugins/magnific.scss +489 -0
  266. admin/includes/tooltips/jquery.qtip.css → assets/scss/plugins/qtip2.scss +11 -11
  267. assets/scss/plugins/tipsy.scss +135 -0
  268. google-maps-builder.php +286 -37
  269. includes/admin/admin-actions.php +31 -0
  270. includes/admin/class-gmb-admin.php +815 -0
  271. includes/admin/class-gmb-settings.php +341 -0
  272. includes/admin/class-gmb-shortcode-generator.php +402 -0
  273. includes/admin/shortcode-generator-i18n.php +8 -0
  274. includes/admin/system-info.php +228 -0
GulpFile.js ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Maps Builder Gulp File
3
+ * @description Compiles SCSS, minifies scripts, renames files, and many other useful tasks; using Gulp.js
4
+ * @since 2.0
5
+ */
6
+
7
+ /* Modules (Can be installed with npm install command using package.json)
8
+ ------------------------------------- */
9
+ var gulp = require( 'gulp' ),
10
+ uglify = require( 'gulp-uglify' ),
11
+ gutil = require( 'gulp-util' ),
12
+ rename = require( 'gulp-rename' ),
13
+ watch = require( 'gulp-watch' ),
14
+ minifyCss = require( 'gulp-minify-css' ),
15
+ sourcemaps = require( 'gulp-sourcemaps' ),
16
+ autoprefixer = require( 'gulp-autoprefixer' ),
17
+ livereload = require( 'gulp-livereload' ),
18
+ del = require( 'del' ),
19
+ sass = require( 'gulp-sass' ),
20
+ concat = require( 'gulp-concat' ),
21
+ notify = require( 'gulp-notify' ),
22
+ minifyCSS = require( 'gulp-minify-css' );
23
+
24
+
25
+ /* Old Paths
26
+ ------------------------------------- */
27
+ var old_source_paths = {
28
+ scripts: ['assets/js/*.js', '!assets/js/*.min.js'],
29
+ styles : ['assets/css/*.css', '!assets/css/*.min.css']
30
+ };
31
+
32
+
33
+ /* Paths
34
+ ------------------------------------- */
35
+ var source_paths = {
36
+ admin_styles : ['./assets/scss/**/gmb-admin.scss'],
37
+ plugin_styles : ['./assets/scss/**/*.scss'],
38
+ frontend_styles : ['./assets/scss/frontend/maps-builder.scss'],
39
+ scripts : ['./assets/js/**/*.js', '!./assets/js/**/*.min.js'],
40
+ frontend_scripts: [
41
+ './assets/js/plugins/give-magnific.min.js',
42
+ './assets/js/frontend/*.min.js' //Frontend scripts need to be loaded last
43
+ ]
44
+ };
45
+
46
+
47
+ /* Admin SCSS Task
48
+ ------------------------------------- */
49
+ gulp.task( 'admin_styles', function () {
50
+ return gulp.src( source_paths.admin_styles )
51
+ .pipe( sourcemaps.init() )
52
+ .pipe( autoprefixer() )
53
+ .pipe( sass( {
54
+ errLogToConsole: true
55
+ } ) )
56
+ .pipe( rename( 'gmb-admin.css' ) )
57
+ .pipe( sourcemaps.write( '.' ) )
58
+ .pipe( gulp.dest( './assets/css' ) )
59
+ .pipe( rename( 'gmb-admin.min.css' ) )
60
+ .pipe( minifyCSS() )
61
+ .pipe( sourcemaps.write() )
62
+ .pipe( gulp.dest( './assets/css' ) )
63
+ .pipe( livereload() )
64
+ .pipe( notify( {
65
+ message: 'Admin styles task complete!',
66
+ onLast : true //only notify on completion of task
67
+ } ) );
68
+ } );
69
+
70
+
71
+ /* Frontend SCSS Task
72
+ ------------------------------------- */
73
+ gulp.task( 'frontend_styles', function () {
74
+ return gulp.src( source_paths.frontend_styles )
75
+ .pipe( sourcemaps.init() ) //start up sourcemapping
76
+ .pipe( autoprefixer() ) //add prefixes for older browsers
77
+ .pipe( sass( {
78
+ errLogToConsole: true
79
+ } ) ) //compile SASS; ensure any errors don't stop gulp watch
80
+ .pipe( rename( 'google-maps-builder.css' ) ) //rename for our main un-minified file
81
+ .pipe( sourcemaps.write( '.' ) ) //write SCSS source maps to the appropriate plugin dir
82
+ .pipe( gulp.dest( './assets/css' ) ) //place compiled file in appropriate directory
83
+ .pipe( rename( 'google-maps-builder.min.css' ) ) //rename for our minified version
84
+ .pipe( minifyCSS() ) //actually minify the file
85
+ .pipe( sourcemaps.write( '' ) ) //write SCSS source maps to the appropriate plugin dir
86
+ .pipe( gulp.dest( './assets/css' ) ) //place the minified compiled file
87
+ .pipe( livereload() ) //reload browser
88
+ .pipe( notify( {
89
+ message: 'Frontend styles task complete!',
90
+ onLast : true //notify developer: only notify on completion of task (prevents multiple notifications per file)
91
+ } ) );
92
+ } );
93
+
94
+
95
+ /* JS
96
+ ------------------------------------- */
97
+ gulp.task( 'scripts', function () {
98
+ return gulp.src( source_paths.scripts )
99
+ .pipe( uglify( {
100
+ preserveComments: 'false'
101
+ } ) )
102
+ .pipe( rename( {suffix: ".min"} ) )
103
+ .pipe( gulp.dest( 'assets/js' ) )
104
+ .pipe( notify( {
105
+ message: 'Scripts task complete!',
106
+ onLast : true //only notify on completion of task (prevents multiple notifications per file)
107
+ } ) );
108
+ //.pipe( livereload() );
109
+ } );
110
+
111
+
112
+ /* Watch Files For Changes
113
+ ------------------------------------- */
114
+ gulp.task( 'watch', function () {
115
+
116
+ //Start up livereload on this biz
117
+ livereload.listen();
118
+
119
+ //Add watching on Admin SCSS-files
120
+ gulp.watch( 'assets/scss/admin/*.scss', function () {
121
+ gulp.start( 'admin_styles' );
122
+ } );
123
+
124
+ //Add watching on Frontend SCSS-files
125
+ //gulp.watch( 'assets/scss/frontend/*.scss', function () {
126
+ // gulp.start( 'frontend_styles' );
127
+ //} );
128
+
129
+ //Add watching on JS files
130
+ gulp.watch( source_paths.scripts, ['scripts'] );
131
+
132
+ //Add watching on template-files
133
+ gulp.watch( 'templates/*.php', function () {
134
+ livereload(); //and reload when changed
135
+ } );
136
+
137
+ } );
138
+
139
+ /* Handle errors elegantly with gulp-notify
140
+ ------------------------------------- */
141
+ var onError = function ( err ) {
142
+ gutil.log( '======= ERROR. ========\n' );
143
+ notify.onError( "ERROR: " + err.plugin )( err ); // for growl
144
+ gutil.beep();
145
+ this.end();
146
+ };
147
+
148
+
149
+
150
+ /* Default Gulp task
151
+ ------------------------------------- */
152
+ gulp.task( 'default', function () {
153
+ gulp.start( 'admin_styles', 'frontend_styles', 'scripts', 'watch' );
154
+ notify( {message: 'Default task complete'} )
155
+ } );
README.md ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Maps Builder - Google Maps WordPress Plugin
2
+
3
+ [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/WordImpress/google-maps-builder/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/WordImpress/google-maps-builder/?branch=master) [![License](https://img.shields.io/badge/license-GPL--2.0%2B-green.svg)](https://github.com/WordImpress/Give/blob/master/license.txt)
4
+
5
+ One WordPress Google Maps plugin to rule them all. Maps Builder is intuitive, sleek, powerful and easy to use. Forget the rest, use the best.
6
+
7
+ ## Description
8
+
9
+ Maps Builder isn't just another Google Maps plugin. It's built from the ground up to be the easiest, most intuitive, and fastest Google Maps plugin for WordPress. Visually build powerful customized Google Maps to use on your WordPress site quickly and easily without ever having to touch a bit of code.
10
+
11
+ ## Plugin Highlights:
12
+
13
+ * **Google Places API integration** - Display nearby business locations and points of interest complete with ratings, custom marker icon
14
+ * **Snazzy Maps integration** - Create truly unique Google Map themes that look great with any design powered by [Snazzy Maps](http://snazzymaps.com/).
15
+ * **Unique Marker Icons** - The only plugin with [Map Icons](map-icons.com) integration; set icon and marker colors for truly unique markers
16
+ * **Intuitive UI** that seamlessly integrates with WordPress' - no eye sores or outdated interfaces here
17
+ * **Small Footprint** - GMB does not create any new database tables, not even one
18
+ * **Optimized** - All scripts and styles are optimized and packaged with Grunt
19
+ * **Supported and Developed** We developed this plugin with high quality code, that's tested and supported. Find a bug or have an issue? Let us know. We'll fix it.
20
+
21
+ ## Marker Creation
22
+
23
+ Google Maps builder features a simple **"Point and Click" marker creation system**. As well, you can add markers using an intuitive Google autocomplete search field. As well, **Bulk edit marker data ** using meta fields attached to each marker's content.
24
+
25
+ ## Map Themes
26
+
27
+ Want to add some pazazz to your maps? [Snazzy Maps](http://snazzymaps.com/) themes are baked right in to Google Map Builder. This means your maps can stand out, fit into any design, and look unique and intriguing.
28
+
29
+ ## Granular Map Control
30
+
31
+ Fine tune your Google Maps with full control over settings for street view, zooming, panning, dragging, and more. Set defaults for each controls so each new map you create is just the way you like it.
32
+
33
+ ## Actively Developed and Supported
34
+
35
+ This plugin is currently being actively developed, which means consistent improvements and enhancements. As well, we won't shy away from bug fixes and further code refractoring and optimization.
36
+
37
+ # Installation
38
+
39
+ This section describes how to install the plugin and get it working.
40
+
41
+ ## Using The WordPress Dashboard
42
+
43
+ 1. Navigate to the 'Add New' in the plugins dashboard
44
+ 2. Search for 'Google Maps Builder'
45
+ 3. Click 'Install Now'
46
+ 4. Activate the plugin on the Plugin dashboard
47
+
48
+ ## Uploading in WordPress Dashboard
49
+
50
+ 1. Navigate to the 'Add New' in the plugins dashboard
51
+ 2. Navigate to the 'Upload' area
52
+ 3. Select `google-maps-builder.zip` from your computer
53
+ 4. Click 'Install Now'
54
+ 5. Activate the plugin in the Plugin dashboard
55
+
56
+ ## Using FTP
57
+
58
+ 1. Download `google-maps-builder.zip`
59
+ 2. Extract the `google-maps-builder` directory to your computer
60
+ 3. Upload the `google-maps-builder` directory to the `/wp-content/plugins/` directory
61
+ 4. Activate the plugin in the Plugin dashboard
62
+
63
+ # Frequently Asked Questions
64
+
65
+ 1. **What sets this plugin apart from all the other Google Maps plugins for WordPress?*
66
+
67
+ There are a number features and functionality that set Maps Builder apart from the many WordPress Google Maps plugins. For starters, we promise this plugin will always have a light footprint. No extra tables or unnecessary overhead. Furthermore, the plugin is built from the ground up to be both easy and fun to use.
68
+
69
+ We have placed extra care and attention on the map creation process and are always looking to improve the UI with enhancements. It's our goal to integrate the plugin with the native WordPress admin UI without adding any distracting visuals. Finally, there are a number of additional features such as built in integration with Google Places and Routes APIs, Snazzy Maps, many marker icon libraries, and more. We suggest you give it for a test drive.
70
+
71
+ 2. **Do I need a Google Maps API Key to use this plugin?*
72
+
73
+ No. You do not need a Google Maps API plugin to use this plugin but if you would like to track your usage you can enter it into the plugin settings screen.
74
+
75
+ 3. **Does this plugin create any new database tables?*
76
+
77
+ Unlike many other Google Maps plugins, Google Maps Builder does not create a single new table in your WordPress database. There is no added database overhead or foreign MySQL queries. It's our guarantee that this plugin will never leave an orphaned table in your WordPress database.
78
+
79
+ 4. **Where can I find the shortcodes for each map I create?*
80
+
81
+ You can find the shortcodes for each map on the post listing screen, within the post itself in the TinyMCE Map Builder button.
82
+
83
+ 5. **What the heck is a shortcode and how do I use it?*
84
+
85
+ Maps Builder works by creating a plugin specific [WordPress shortcode](http://codex.wordpress.org/Shortcode). You can easily add maps to your posts with the Map Builder button integrated within the TinyMCE WordPress editor. You may also copy the shortcode for a specific map and enter in into a widget or directly within a metafiend. As well, you can use the WordPress [do_shortcode()](http://codex.wordpress.org/Function_Reference/do_shortcode) function to use it within your theme template files or plugins for further customization.
86
+
87
+ 6. **Does this plugin include a widget for displaying maps?*
88
+
89
+ Yes! In the free version there is a basic widget for adding maps to sidebars. Upgrade to Pro for more control.
90
+
91
+ 7. **How do I report a bug?**
92
+
93
+ We always welcome your feedback for improvements or if you have uncovered a bug. To report a bug please use the WordPress.org support forum or this GitHub repo issues trackers.
94
+
95
+ 8. **Who is behind this plugin?*
96
+ WordImpress.com developed this and many more plugins. Check them all out at [WordImpress.com](https://wordimpress.com).
README.txt CHANGED
@@ -1,26 +1,21 @@
1
- === Google Maps Builder ===
2
  Contributors: wordimpress, dlocc, webdevmattcrom
3
  Donate link: http://wordimpress.com/
4
  Tags: google maps, google map, google map widget, google map shortcode, maps, map, wp map, wp google maps, google maps directions, google maps builder, google maps plugin, google places, google places api, google maps api, google places reviews
5
- Requires at least: 3.6
6
- Tested up to: 4.1
7
- Stable tag: 1.0.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- One Google Maps plugin to rule them all. Google Maps Builder is intuitive, sleek, powerful and easy to use. Forget the rest, use the best.
12
 
13
  == Description ==
14
 
15
- ###Maps Builder 2.0 is Coming###
16
- With 10,000+ Active Installs we thought it was high-time to kick it up a notch with Maps Builder. We've launched a "Beta Campaign" to get feedback on our new features and look and feel. We've also built a phenomenal Pro version which we'll be giving away free licenses for in our Mascot Naming Contest. Here's all the relevant information you'll need to get your hands on it now and contribute and maybe WIN the contest.
17
- _____________________________________________________________
18
- [Blog Article](https://wordimpress.com/maps-builder-2-0-is-coming-and-you-can-help/) | [Feedback Form](https://wordimpress.com/maps-builder-beta-campaign/) | [Github](https://github.com/WordImpress/google-maps-builder/issues)
19
 
20
  = Plugin Highlights: =
21
-
22
- Google Maps Builder isn't just another Google Maps plugin. It's built from the ground up to be the easiest, most intuitive and fastest Google Maps plugin for WordPress. Visually build powerful customized Google Maps to use on your WordPress site quickly and easily without ever having to touch a bit of code.
23
-
24
  * **Google Places API integration** - Display nearby business locations and points of interest complete with ratings, custom marker icon
25
  * **Snazzy Maps integration** - Create truly unique Google Map themes that look great with any design powered by [Snazzy Maps](http://snazzymaps.com/).
26
  * **Unique Marker Icons** - The only plugin with [Map Icons](map-icons.com) integration; set icon and marker colors for truly unique markers
@@ -29,6 +24,10 @@ Google Maps Builder isn't just another Google Maps plugin. It's built from the g
29
  * **Optimized** - All scripts and styles are optimized and packaged with Grunt
30
  * **No notices or warnings** We developed this plugins in debug mode. This results in high quality plugins with no errors, warnings or notices.
31
 
 
 
 
 
32
  = Marker Creation =
33
 
34
  Google Maps builder features a simple **"Point and Click" marker creation system**. As well, you can add markers using an intuitive Google autocomplete search field. As well, **Bulk edit marker data ** using meta fields attached to each marker's content.
@@ -45,6 +44,19 @@ Fine tune your Google Maps with full control over settings for street view, zoom
45
 
46
  This plugin is actively developed and supported. This means you can expect an answer in the forums and consistent improvements and enhancements to the plugin itself. As well, we won't shy away from bug fixes or code refactoring and optimization.
47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  == Installation ==
49
 
50
  This section describes how to install the plugin and get it working.
@@ -75,13 +87,13 @@ This section describes how to install the plugin and get it working.
75
 
76
  = What sets this plugin apart from all the other Google Maps plugins for WordPress? =
77
 
78
- There are a number features and functionality that set Google Maps Builder apart from the many WordPress Google Maps plugins. For starters, we promise this plugin will always have a light footprint. No extra tables or unnecessary overhead. Furthermore, the plugin is built from the ground up to be both easy and fun to use.
79
 
80
- We have placed extra care and attention on the map creation process and are always looking to improve the UI with enhancements. It's our goal to integrate the plugin with the native WordPress admin UI without adding any distracting visuals. Finally, there are a number of additional features such as built in integration with Google Places API, Maps Icons and Snazzy Maps.
81
 
82
  = Do I need a Google Places API Key to use this plugin? =
83
 
84
- No. You do not need a Google Places API plugin to use this plugin.
85
 
86
  = Does this plugin create any new database tables? =
87
 
@@ -89,15 +101,15 @@ Unlike many other Google Maps plugins, Google Maps Builder does not create a sin
89
 
90
  = Where can I find the shortcodes for each map I create? =
91
 
92
- You can find the shortcodes for each map on the post listing screen, within the post itself in the shortcode metabox (coming soon). Also coming soon: Map widget and TinyMCE button to include shortcode.
93
 
94
  = What the heck is a shortcode and how do I use it? =
95
 
96
- Google Maps Builder works by creating a plugin specific [WordPress shortcode](http://codex.wordpress.org/Shortcode). Basically, you can copy the shortcode for a specific map and enter in into a widget or directly within content. As well, you can use the WordPress [do_shortcode()](http://codex.wordpress.org/Function_Reference/do_shortcode) function to use it within your theme template files and even plugins.
97
 
98
  = Does this plugin include a widget for displaying maps? =
99
 
100
- Soon! For now, you can use the shortcode in the text widget. Soon there will be a Google Maps Builder Widget.
101
 
102
  = How do I report a bug? =
103
 
@@ -105,31 +117,53 @@ We always welcome your feedback for improvements or if you have uncovered a bug.
105
 
106
  = Who is behind this plugin? =
107
 
108
- The main developer of this plugin is WordImpress. To find out more information about the company and the people behind it please visit [the WordImpress website.](http://wordimpress.com)
109
-
110
- == Roadmap ==
111
-
112
- With 10,000+ Active Installs we thought it was high-time to kick it up a notch with Maps Builder. We've launched a "Beta Campaign" to get feedback on our new features and look and feel. We've also built a phenomenal Pro version which we'll be giving away free licenses for in our Mascot Naming Contest. Here's all the relevant information you'll need to get your hands on it now and contribute and maybe WIN the contest.
113
- _____________________________________________________________
114
- [Blog Article](https://wordimpress.com/maps-builder-2-0-is-coming-and-you-can-help/) | [Feedback Form](https://wordimpress.com/maps-builder-beta-campaign/) | [Github](https://github.com/WordImpress/google-maps-builder/issues)
115
 
116
  == Screenshots ==
117
 
118
- 1. **Google Map Builder** - A view of the single map view in the WordPress admin panel. Notice the autocomplete search field and "Drop a Marker" button.
 
 
119
 
120
- 2. **Editable Marker** - Customize the content of the map markers directly in the builder. Built to mock Google's own Maps Engine.
121
 
122
- 3. **Custom Markers** - Configure a marker to fit your location. Easily adjust the marker, icon and color.
123
 
124
- 4. **Frontend View** - A view the a map on the frontend of a WordPress site using the TwentyTwelve theme. This map displays various Google Places.
125
 
126
- 5. **Settings Panel** - Adjust the various plugin settings using a UI that is built using WordPress' own styles.
127
 
128
- == Upgrade Notice ==
129
- Version 1.0.3 will soon be updated to 2.0. [Find details here](https://wordimpress.com/maps-builder-2-0-is-coming-and-you-can-help/)
130
 
131
  == Changelog ==
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  = 1.0.3 =
134
  * New: New check for multiple Google Maps API calls to ensure more compatibility with themes and plugins which include the same maps API JS. If the check detects multiple enqueues a warning appears in the admin panel.
135
  * Additional Testing: Reviewed WooCommerce and Contact Forms 7 compatibility within WP admin panel
1
+ === Maps Builder - Google Maps Plugin ===
2
  Contributors: wordimpress, dlocc, webdevmattcrom
3
  Donate link: http://wordimpress.com/
4
  Tags: google maps, google map, google map widget, google map shortcode, maps, map, wp map, wp google maps, google maps directions, google maps builder, google maps plugin, google places, google places api, google maps api, google places reviews
5
+ Requires at least: 4.0
6
+ Tested up to: 4.3
7
+ Stable tag: 2.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ The most flexible, robust, and easy to use WordPress plugin for creating powerful Google Maps directly on your website.
12
 
13
  == Description ==
14
 
15
+ Maps Builder isn't just another Google Maps plugin. It's built from the ground up to be the easiest, most intuitive and fastest Google Maps plugin for WordPress. Visually build powerful customized Google Maps to use on your WordPress site quickly and easily without ever having to touch a bit of code.
 
 
 
16
 
17
  = Plugin Highlights: =
18
+ * **Fullscreen Live Map Builder** - The Map Builder let's you edit fullscreen in a Customizer-like environment so you can see your map come to life right before your eyes.
 
 
19
  * **Google Places API integration** - Display nearby business locations and points of interest complete with ratings, custom marker icon
20
  * **Snazzy Maps integration** - Create truly unique Google Map themes that look great with any design powered by [Snazzy Maps](http://snazzymaps.com/).
21
  * **Unique Marker Icons** - The only plugin with [Map Icons](map-icons.com) integration; set icon and marker colors for truly unique markers
24
  * **Optimized** - All scripts and styles are optimized and packaged with Grunt
25
  * **No notices or warnings** We developed this plugins in debug mode. This results in high quality plugins with no errors, warnings or notices.
26
 
27
+ **[Check out the Plugin Demo](https://mapsbuilder.wordimpress.com/)**
28
+
29
+ **Want more? [Upgrade to Maps Builder Pro Today!](https://wordimpress.com/plugins/maps-builder-pro/)**
30
+
31
  = Marker Creation =
32
 
33
  Google Maps builder features a simple **"Point and Click" marker creation system**. As well, you can add markers using an intuitive Google autocomplete search field. As well, **Bulk edit marker data ** using meta fields attached to each marker's content.
44
 
45
  This plugin is actively developed and supported. This means you can expect an answer in the forums and consistent improvements and enhancements to the plugin itself. As well, we won't shy away from bug fixes or code refactoring and optimization.
46
 
47
+ = You'll Love Maps Builder Pro =
48
+
49
+ Maps Builder Pro gives you all that you love about Maps Builder Basic, plus lots of new and advanced features. Here's the highlights:
50
+
51
+ * **Post Mashup** - Automatically populate markers on a map based on your own posts, pages, or custom post types [See Demo](http://mapsbuilder.wordimpress.com/demo/mashups/).
52
+ * **Marker Clustering** - When zoomed out, show one "cluster" marker with a number to indicate how many markers are in close proximity [See Demo](http://mapsbuilder.wordimpress.com/demo/marker-clustering/).
53
+ * **Layers** - Show Bicycle, Transit, and/or Traffic layers with one click on any map [See Demo](http://mapsbuilder.wordimpress.com/demo/transit-layer/).
54
+ * **Custom Marker** - Upload your own custom marker for any marker in your map [See Demo](http://mapsbuilder.wordimpress.com/demo/marker-icons-flexibility/).
55
+ * **Import/Export** - Import and Export all your maps or markers anywhere you like.
56
+ * **Priority Support** - Maps Builder Pro users benefit from our Priority Support Forum. We go the extra mile for you and your website needs.
57
+
58
+ [Upgrade to Maps Builder Pro Today!](https://wordimpress.com/plugins/maps-builder-pro/)
59
+
60
  == Installation ==
61
 
62
  This section describes how to install the plugin and get it working.
87
 
88
  = What sets this plugin apart from all the other Google Maps plugins for WordPress? =
89
 
90
+ There are a number features and functionality that set Maps Builder apart from the many WordPress Google Maps plugins. For starters, we promise this plugin will always have a light footprint. No extra tables or unnecessary overhead. Furthermore, the plugin is built from the ground up to be both easy and fun to use.
91
 
92
+ We have placed extra care and attention on the map creation process and are always looking to improve the UI with enhancements. It's our goal to integrate the plugin with the native WordPress admin UI without adding any distracting visuals. Finally, there are a number of additional features such as built in integration with Google Places and Routes APIs, Snazzy Maps, many marker icon libraries, and more. We suggest you give it for a test drive.
93
 
94
  = Do I need a Google Places API Key to use this plugin? =
95
 
96
+ No. You do not need a Google Maps API plugin to use this plugin but if you would like to track your usage you can enter it into the plugin settings screen.
97
 
98
  = Does this plugin create any new database tables? =
99
 
101
 
102
  = Where can I find the shortcodes for each map I create? =
103
 
104
+ You can find the shortcodes for each map on the post listing screen, within the post itself in the TinyMCE Map Builder button.
105
 
106
  = What the heck is a shortcode and how do I use it? =
107
 
108
+ Maps Builder works by creating a plugin specific [WordPress shortcode](http://codex.wordpress.org/Shortcode). You can easily add maps to your posts with the Map Builder button integrated within the TinyMCE WordPress editor. You may also copy the shortcode for a specific map and enter in into a widget or directly within a metafiend. As well, you can use the WordPress [do_shortcode()](http://codex.wordpress.org/Function_Reference/do_shortcode) function to use it within your theme template files or plugins for further customization.
109
 
110
  = Does this plugin include a widget for displaying maps? =
111
 
112
+ Yes! In the free version there is a basic widget for adding maps to sidebars. Upgrade to Pro for more control.
113
 
114
  = How do I report a bug? =
115
 
117
 
118
  = Who is behind this plugin? =
119
 
120
+ Maps Builder is developed and supported by [WordImpress](https://wordimpress.com). We build impressive Plugins and Themes for your WordPress website. Find out more about us and read more great tutorials at [https://wordimpress.com](https://wordimpress.com).
 
 
 
 
 
 
121
 
122
  == Screenshots ==
123
 
124
+ 1. **Fullscreen Map Builder** - Build your map in an immersive fullscreen Customizer-like environment with live refresh and see your map built right in front of your eyes.
125
+
126
+ 2. **Add a new Marker with just a click** - Use the "Drop a Marker" function to add new markers with one click.
127
 
128
+ 3. **Customized Marker Images** - Configure a marker to fit your location. Easily adjust the marker, icon and color.
129
 
130
+ 4. **Frontend View** - A view the a map on the frontend of a WordPress site. This map shows the 45° angle view with labels.
131
 
132
+ 5. **Settings Panel** - The Maps Builder Pro Settings page. Maps Builder Basic includes these options, but not the "License" tab.
133
 
134
+ == Upgrade Notice ==
135
 
136
+ Maps Builder 2.0 is a significant upgrade. After you update, you'll see a notice to update your maps. Make sure to click that.
 
137
 
138
  == Changelog ==
139
 
140
+ = 2.0 =
141
+ * General: This update focused on fixing a lot of pre-existing bugs commonly submitted to WordPress.org as well as improving the plugin base for future code enhancements.
142
+ * New: Enhanced Full Screen Maps Builder mode that allows you to build maps in a customizer-like experience.
143
+ * New: Widget for inserting maps into your theme's sidebars #39 @see: https://github.com/WordImpress/google-maps-builder/issues/39
144
+ * New: Shortcode builder integrated into TinyMCE to make adding maps to your posts a breeze. @see: https://github.com/WordImpress/google-maps-builder/issues/24
145
+ * New: Upgrade process for maps using Google's old reference ID in place for the new Place_ID @see: https://github.com/WordImpress/google-maps-builder/issues/18
146
+ * New: Switch and Test all Google Places API calls to "Reference ID" or "ID" to Google's new "Places ID"
147
+ * New: Gulp implemented for minifying scripts
148
+ * New: Uber cool new logo design and mascot: "Marko the Map Builder"
149
+ * New: Control the map height with a new control to select percentage or pixel height values @see: https://github.com/WordImpress/google-maps-builder/issues/13
150
+ * New: You can now choose whether or not you want to see the place info within your infowindows @see: https://github.com/WordImpress/google-maps-builder/issues/62
151
+ * Improvement: Upgraded CMB1 to CMB2
152
+ * Improvement: Class improvements and modernized structure organization
153
+ * Improvement: Plugin structure significantly changed to better reflect our development preference. The current structure is similar to Give, EDD, and other reputable plugins.
154
+ * Improvement: Swapped out Thickbox for Magnific popup @see: https://github.com/WordImpress/google-maps-builder/issues/11
155
+ * Improvement: Register scripts and styles properly prior to enqueuing them for other plugins and themes
156
+ * Improvement: Marker Creation Improvements - 1) Sometimes markers disappear in the post edit screen. 2) Sometimes markers don't get output on the front end correctly. 3)Sometimes markers don't get generated in the post edit screen at all.
157
+ * Fix: Investigated + resolved several Google Maps API conflicts - Often when a user has a theme or plugin that registers Google Maps it breaks our plugin or ours breaks theirs. We now check for other Google Map enqueues, and if present the plugin attempts to dequeue them in favor for ours. So far this has fixed issues with Uber Menu 3, Contact Forms 7, as well as many additional plugins.
158
+ * Fix: Maps placed in hidden tabs now redraw properly when the tab is selected
159
+ * Fix: Found and resolved conflict with ACF plugin Google Maps field
160
+ * Fix: Removed non-functional marker upload field (will be added to Pro version in a much enhanced format).
161
+ * Fix: Maps icons fixed to no longer show first character incorrectly @see: https://github.com/scottdejonge/Map-Icons/issues/26
162
+ * General: The plugin's official name has dropped the word "Google" for brand compliance. It's now called "Maps Builder"
163
+ * General: Removed "Places API Key" field because Google Maps API doesn't require it to query the library
164
+ * General: Added "Google Maps API Key" field to track API usage within Google's Developer Console @see: https://github.com/WordImpress/google-maps-builder/issues/48
165
+ * General: Javascript cleanup and optimization
166
+
167
  = 1.0.3 =
168
  * New: New check for multiple Google Maps API calls to ensure more compatibility with themes and plugins which include the same maps API JS. If the check detects multiple enqueues a warning appears in the admin panel.
169
  * Additional Testing: Reviewed WooCommerce and Contact Forms 7 compatibility within WP admin panel
admin/assets/css/admin-settings.css DELETED
@@ -1,394 +0,0 @@
1
- <<<<<<< .mine
2
- /**
3
- * Google Places Map CPT Styles
4
- */
5
-
6
- .wrap {
7
- margin-left: -5px;
8
- }
9
-
10
- .clear:before,
11
- .clear:after {
12
- content: " ";
13
- display: table;
14
- }
15
-
16
- .clear:after {
17
- clear: both;
18
- }
19
-
20
- table.form-table {
21
- margin:0 0 20px;
22
- }
23
-
24
- /*---------------------------
25
- Header
26
- -----------------------------*/
27
-
28
- .main-heading {
29
- font-size: 36px;
30
- font-weight: 400;
31
- line-height: 1.1em;
32
- margin: 10px 0 20px;
33
- }
34
-
35
- .main-subheading {
36
- font-size: 20px;
37
- line-height: 1.4em;
38
- }
39
-
40
- .logo-svg {
41
- margin: 15px 0 0;
42
- }
43
-
44
- .logo-svg.logo-svg-small {
45
- float: right;
46
- margin: 0;
47
- }
48
-
49
- .gmb-plugin-heading {
50
- width: 170px;
51
- float: left;
52
- margin: 9px 0 0;
53
- }
54
-
55
- .new-window {
56
- background: url('../img/new-window-icon.png') no-repeat right 5px transparent;
57
- padding-right: 13px;
58
- margin-right: 4px;
59
- }
60
-
61
- /* Social Media */
62
-
63
- .social-items-wrap {
64
- float: left;
65
- }
66
-
67
- .social-items-wrap > div {
68
- display: inline-block;
69
- }
70
-
71
- .google-plus {
72
- margin-left: 20px;
73
- display: inline;
74
- width: 190px;
75
- }
76
-
77
- .wordimpress-logo {
78
- float: left;
79
- margin: -7px 0 0;
80
- }
81
-
82
- .logo-link {
83
- background: url('../img/wordimpress-logo-small.png') no-repeat 0 0 transparent;
84
- width: 100px;
85
- height: 40px;
86
- display: block;
87
- }
88
-
89
- .hide-welcome {
90
- margin: 2px 0 0 30px;
91
- }
92
-
93
- .hide-welcome span {
94
- background: url('../img/arrows.png') no-repeat 0 -33px rgba(0, 0, 0, 0);
95
- width: 15px;
96
- height: 14px;
97
- display: inline-block;
98
- margin-left: 3px;
99
- }
100
-
101
- .pull-left {
102
- float: left;
103
- }
104
-
105
- .pull-right {
106
- float: right;
107
- }
108
-
109
- .small-desc {
110
- font-size: 12px;
111
- font-style: italic;
112
- color: #B3B3B3;
113
- }
114
-
115
- /*---------------------------
116
- Map Options Tab
117
- -----------------------------*/
118
-
119
- .size-label {
120
- margin: 8px 10px 0 0;
121
- font-style: italic;
122
- width: 50px;
123
- }
124
-
125
- /* Map Size */
126
-
127
- .width_unit_label, .width_radio, .map-width, .map-height, .size-label, .radio-left, .label-left {
128
- float: left !important;
129
- }
130
-
131
- #width_wrap {
132
- margin: 0 0 10px;
133
- }
134
-
135
- #size_labels_wrap {
136
- margin: 8px 0 0 10px;
137
- padding: 0;
138
- float: left;
139
- }
140
-
141
- #width_unit_percent {
142
- margin: 0 3px 0 0;
143
- }
144
-
145
- #width_unit_px {
146
- margin: 0 3px 0 8px;
147
- }
148
-
149
- .map-width, .map-height {
150
- width: 55px !important
151
- }
152
-
153
- /* Lat Lng */
154
- #lat-lng-wrap {
155
- float: left;
156
- clear: both;
157
- margin: 15px 0 0;
158
- display: none;
159
- }
160
-
161
- label.geocode-label {
162
- width: 130px;
163
- margin-right: 0;
164
- }
165
-
166
- label.yes-label {
167
- margin-right: 10px;
168
- }
169
-
170
- #lat-lng-wrap input[type=text].latitude, #lat-lng-wrap input[type=text].longitude {
171
- width: 120px;
172
- float: left;
173
- }
174
-
175
- .lat-lng-wrap {
176
- margin: 0 0 10px;
177
- clear: none;
178
- }
179
-
180
- .lat-lng-wrap > span, .lat-lng-wrap > input {
181
- float: left;
182
- }
183
-
184
- .lat-lng-wrap > span {
185
- margin: 8px 5px 0 0;
186
- width: 80px;
187
- font-style: italic;
188
- }
189
-
190
-
191
- /*---------------------------
192
- General Options Tab
193
- -----------------------------*/
194
-
195
- #gmb_menu_position {
196
- width: 40px;
197
- =======
198
- /**
199
- * Google Places Map CPT Styles
200
- */
201
-
202
- .wrap {
203
- margin-left: -5px;
204
- }
205
-
206
- .clear:before,
207
- .clear:after {
208
- content: " ";
209
- display: table;
210
- }
211
-
212
- .clear:after {
213
- clear: both;
214
- }
215
-
216
- table.form-table {
217
- margin:0 0 20px;
218
- }
219
-
220
- /*---------------------------
221
- Header
222
- -----------------------------*/
223
-
224
- .main-heading {
225
- font-size: 36px;
226
- font-weight: 400;
227
- line-height: 1.1em;
228
- margin: 10px 0 20px;
229
- }
230
-
231
- .main-subheading {
232
- font-size: 20px;
233
- line-height: 1.4em;
234
- }
235
-
236
- .logo-svg {
237
- margin: 15px 0 0;
238
- }
239
-
240
- .logo-svg.logo-svg-small {
241
- float: right;
242
- margin: 0;
243
- }
244
-
245
- .gmb-plugin-heading {
246
- width: 170px;
247
- float: left;
248
- margin: 9px 0 0;
249
- }
250
-
251
- .new-window {
252
- background: url('../img/new-window-icon.png') no-repeat right 5px transparent;
253
- padding-right: 13px;
254
- margin-right: 4px;
255
- }
256
-
257
- /* Social Media */
258
-
259
- .social-items-wrap {
260
- float: left;
261
- }
262
-
263
- .social-items-wrap > div {
264
- display: inline-block;
265
- }
266
-
267
- .google-plus {
268
- margin-left: 20px;
269
- display: inline;
270
- width: 150px;
271
- }
272
-
273
- .wordimpress-logo {
274
- float: left;
275
- margin: -7px 0 0;
276
- }
277
-
278
- .logo-link {
279
- background: url('../img/wordimpress-logo-small.png') no-repeat 0 0 transparent;
280
- width: 100px;
281
- height: 40px;
282
- display: block;
283
- }
284
-
285
- .hide-welcome {
286
- margin: 2px 0 0 30px;
287
- }
288
-
289
- .hide-welcome span {
290
- background: url('../img/arrows.png') no-repeat 0 -33px rgba(0, 0, 0, 0);
291
- width: 15px;
292
- height: 14px;
293
- display: inline-block;
294
- margin-left: 3px;
295
- }
296
-
297
- .pull-left {
298
- float: left;
299
- }
300
-
301
- .pull-right {
302
- float: right;
303
- }
304
-
305
- .small-desc {
306
- font-size: 12px;
307
- font-style: italic;
308
- color: #B3B3B3;
309
- }
310
-
311
- /*---------------------------
312
- Map Options Tab
313
- -----------------------------*/
314
-
315
- .size-label {
316
- margin: 8px 10px 0 0;
317
- font-style: italic;
318
- width: 50px;
319
- }
320
-
321
- /* Map Size */
322
-
323
- .width_unit_label, .width_radio, .map-width, .map-height, .size-label, .radio-left, .label-left {
324
- float: left !important;
325
- }
326
-
327
- #width_wrap {
328
- margin: 0 0 10px;
329
- }
330
-
331
- #size_labels_wrap {
332
- margin: 8px 0 0 10px;
333
- padding: 0;
334
- float: left;
335
- }
336
-
337
- #width_unit_percent {
338
- margin: 0 3px 0 0;
339
- }
340
-
341
- #width_unit_px {
342
- margin: 0 3px 0 8px;
343
- }
344
-
345
- .map-width, .map-height {
346
- width: 55px !important
347
- }
348
-
349
- /* Lat Lng */
350
- #lat-lng-wrap {
351
- float: left;
352
- clear: both;
353
- margin: 15px 0 0;
354
- display: none;
355
- }
356
-
357
- label.geocode-label {
358
- width: 130px;
359
- margin-right: 0;
360
- }
361
-
362
- label.yes-label {
363
- margin-right: 10px;
364
- }
365
-
366
- #lat-lng-wrap input[type=text].latitude, #lat-lng-wrap input[type=text].longitude {
367
- width: 120px;
368
- float: left;
369
- }
370
-
371
- .lat-lng-wrap {
372
- margin: 0 0 10px;
373
- clear: none;
374
- }
375
-
376
- .lat-lng-wrap > span, .lat-lng-wrap > input {
377
- float: left;
378
- }
379
-
380
- .lat-lng-wrap > span {
381
- margin: 8px 5px 0 0;
382
- width: 80px;
383
- font-style: italic;
384
- }
385
-
386
-
387
- /*---------------------------
388
- General Options Tab
389
- -----------------------------*/
390
-
391
- #gmb_menu_position {
392
- width: 40px;
393
- >>>>>>> .r1071384
394
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/css/admin-settings.min.css DELETED
@@ -1 +0,0 @@
1
- <<<<<<< .mine .wrap{margin-left:-5px}.clear:before,.clear:after{content:" ";display:table}.clear:after{clear:both}table.form-table{margin:0 0 20px}.main-heading{font-size:36px;font-weight:400;line-height:1.1em;margin:10px 0 20px}.main-subheading{font-size:20px;line-height:1.4em}.logo-svg{margin:15px 0 0}.logo-svg.logo-svg-small{float:right;margin:0}.gmb-plugin-heading{width:170px;float:left;margin:9px 0 0}.new-window{background:url(../img/new-window-icon.png) no-repeat right 5px transparent;padding-right:13px;margin-right:4px}.social-items-wrap{float:left}.social-items-wrap>div{display:inline-block}.google-plus{margin-left:20px;display:inline;width:190px}.wordimpress-logo{float:left;margin:-7px 0 0}.logo-link{background:url(../img/wordimpress-logo-small.png) no-repeat 0 0 transparent;width:100px;height:40px;display:block}.hide-welcome{margin:2px 0 0 30px}.hide-welcome span{background:url(../img/arrows.png) no-repeat 0 -33px rgba(0,0,0,0);width:15px;height:14px;display:inline-block;margin-left:3px}.pull-left{float:left}.pull-right{float:right}.small-desc{font-size:12px;font-style:italic;color:#B3B3B3}.size-label{margin:8px 10px 0 0;font-style:italic;width:50px}.width_unit_label,.width_radio,.map-width,.map-height,.size-label,.radio-left,.label-left{float:left!important}#width_wrap{margin:0 0 10px}#size_labels_wrap{margin:8px 0 0 10px;padding:0;float:left}#width_unit_percent{margin:0 3px 0 0}#width_unit_px{margin:0 3px 0 8px}.map-width,.map-height{width:55px!important}#lat-lng-wrap{float:left;clear:both;margin:15px 0 0;display:none}label.geocode-label{width:130px;margin-right:0}label.yes-label{margin-right:10px}#lat-lng-wrap input[type=text].latitude,#lat-lng-wrap input[type=text].longitude{width:120px;float:left}.lat-lng-wrap{margin:0 0 10px;clear:none}.lat-lng-wrap>span,.lat-lng-wrap>input{float:left}.lat-lng-wrap>span{margin:8px 5px 0 0;width:80px;font-style:italic}#gmb_menu_position{width:40px;=======.wrap{margin-left:-5px}.clear:before,.clear:after{content:" ";display:table}.clear:after{clear:both}table.form-table{margin:0 0 20px}.main-heading{font-size:36px;font-weight:400;line-height:1.1em;margin:10px 0 20px}.main-subheading{font-size:20px;line-height:1.4em}.logo-svg{margin:15px 0 0}.logo-svg.logo-svg-small{float:right;margin:0}.gmb-plugin-heading{width:170px;float:left;margin:9px 0 0}.new-window{background:url(../img/new-window-icon.png) no-repeat right 5px transparent;padding-right:13px;margin-right:4px}.social-items-wrap{float:left}.social-items-wrap>div{display:inline-block}.google-plus{margin-left:20px;display:inline;width:150px}.wordimpress-logo{float:left;margin:-7px 0 0}.logo-link{background:url(../img/wordimpress-logo-small.png) no-repeat 0 0 transparent;width:100px;height:40px;display:block}.hide-welcome{margin:2px 0 0 30px}.hide-welcome span{background:url(../img/arrows.png) no-repeat 0 -33px rgba(0,0,0,0);width:15px;height:14px;display:inline-block;margin-left:3px}.pull-left{float:left}.pull-right{float:right}.small-desc{font-size:12px;font-style:italic;color:#B3B3B3}.size-label{margin:8px 10px 0 0;font-style:italic;width:50px}.width_unit_label,.width_radio,.map-width,.map-height,.size-label,.radio-left,.label-left{float:left!important}#width_wrap{margin:0 0 10px}#size_labels_wrap{margin:8px 0 0 10px;padding:0;float:left}#width_unit_percent{margin:0 3px 0 0}#width_unit_px{margin:0 3px 0 8px}.map-width,.map-height{width:55px!important}#lat-lng-wrap{float:left;clear:both;margin:15px 0 0;display:none}label.geocode-label{width:130px;margin-right:0}label.yes-label{margin-right:10px}#lat-lng-wrap input[type=text].latitude,#lat-lng-wrap input[type=text].longitude{width:120px;float:left}.lat-lng-wrap{margin:0 0 10px;clear:none}.lat-lng-wrap>span,.lat-lng-wrap>input{float:left}.lat-lng-wrap>span{margin:8px 5px 0 0;width:80px;font-style:italic}#gmb_menu_position{width:40px;>>>>>>> .r1071384}
 
admin/assets/css/admin-widget.css DELETED
@@ -1,459 +0,0 @@
1
- /*
2
- * Styles specifically for the Yelp Widget Pro widget in the WP admin interface
3
- * Is only loaded on widgets.php
4
- */
5
- .wpgp-toggler {
6
- padding: 10px;
7
- margin: 0 0 10px;
8
- cursor: pointer;
9
- background-color: #EBEBEB;
10
- border: 1px solid #E5E5E5;
11
- display: block;
12
- }
13
-
14
- .wpgp-toggler span {
15
- background: url('../img/arrows.png') no-repeat 60% -107px;
16
- float: right;
17
- height: 12px;
18
- display: inline-block;
19
- width: 12px;
20
- }
21
-
22
- .wpgp-toggler.toggled span {
23
- background-position: 60% 1px;
24
- }
25
-
26
- .toggle-item, .reviews-toggle-container {
27
- display: none;
28
- }
29
-
30
- .toggle-item p {
31
- padding: 0;
32
- margin: 0 0 10px;
33
- }
34
-
35
- .toggle-item.toggled, .reviews-toggle-container.toggled {
36
- display: block;
37
- }
38
-
39
- .widget-api-option {
40
- line-height: 22px;
41
- }
42
-
43
- .widget-api-option input {
44
- }
45
-
46
- .toggle-item select {
47
- background: #FFF;
48
- }
49
-
50
- .wpgp-method-span:hover, .search-api-option:hover, .business-api-option:hover {
51
- cursor: pointer;
52
- }
53
-
54
- .wpgp-method-label {
55
- padding-left: 4px;
56
- }
57
-
58
- .new-window {
59
- background: url('../img/new-window-icon.png') no-repeat right 3px transparent;
60
- padding-right: 16px;
61
- }
62
-
63
- .wpgp-radio-label {
64
- margin: 0 0 5px;
65
- display: block;
66
- }
67
-
68
- .wpgp-widget-footer-links {
69
- font-style: italic;
70
- }
71
-
72
- .wpgp-widget-footer-links a {
73
- margin-right: 10px;
74
- }
75
-
76
- .powered-by-google {
77
- background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
78
- width: 104px;
79
- height: 16px;
80
- }
81
-
82
- /*------------------------------------------------
83
- Google Maps
84
- ---------------------------------------------------*/
85
- .map-canvas {
86
- height: 100%;
87
- margin: 0px;
88
- padding: 0px;
89
- min-height: 400px;
90
- }
91
-
92
- .google-autocomplete-map-wrap {
93
- display: none;
94
- }
95
-
96
- .google-autocomplete-map-wrap .controls {
97
- margin-top: 16px;
98
- border: 1px solid transparent;
99
- border-radius: 2px;
100
- box-sizing: border-box;
101
- -moz-box-sizing: border-box;
102
- height: 32px;
103
- outline: none;
104
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
105
- }
106
-
107
- .marker-label,
108
- .marker-icon {
109
- z-index: 99;
110
- position: absolute;
111
- display: block;
112
- margin-top: -50px;
113
- margin-left: -25px;
114
- width: 50px;
115
- height: 50px;
116
- font-size: 30px !important;
117
- text-align: center;
118
- color: #FFFFFF;
119
- white-space: nowrap;
120
- }
121
-
122
- /* PAC input */
123
-
124
- .pac-input {
125
- background-color: #fff;
126
- padding: 0 11px 0 13px;
127
- width: 100%;
128
- font-family: Roboto;
129
- font-size: 15px;
130
- font-weight: 300;
131
- text-overflow: ellipsis;
132
- display: none;
133
- }
134
-
135
- .pac-input:focus {
136
- border-color: #4d90fe;
137
- width: 100%;
138
- }
139
-
140
- .map-canvas .pac-input {
141
- left:10px !important;
142
- top: 42px !important;
143
- display: block !important;
144
- width: 92%;
145
- line-height: 26px;
146
- margin:0;
147
- }
148
-
149
-
150
-
151
-
152
- .pac-container {
153
- font-family: Roboto;
154
- }
155
-
156
- /* Type Selector */
157
-
158
- .type-selector {
159
- color: #fff;
160
- background-color: #4d90fe;
161
- padding: 5px 11px 0px 11px;
162
- display: none;
163
- }
164
-
165
- .type-selector label {
166
- font-family: Roboto;
167
- font-size: 13px;
168
- font-weight: 300;
169
- }
170
-
171
- .map-canvas .type-selector {
172
- left:0 !important;
173
- top: 0 !important;
174
- display: block !important;
175
- margin: 0;
176
- width: 100%;
177
- }
178
-
179
-
180
- ul.map-control-list {
181
- margin: 0;
182
- padding: 0;
183
- }
184
-
185
- .map-control-list li {
186
- float: left;
187
- margin: 0 10px 0 0;
188
- }
189
-
190
- .map-control-list li:last-child {
191
- margin-right: 0;
192
- }
193
-
194
- .map-control-list li input[type="radio"] {
195
- margin: 0 2px 0 0;
196
- }
197
-
198
- /*-------------------------------------------
199
- Helper Classes
200
- ---------------------------------------------*/
201
- .clearfix {
202
- *zoom: 1;
203
- }
204
-
205
- .clearfix:before, .clearfix:after {
206
- display: table;
207
- content: "";
208
- line-height: 0;
209
- }
210
-
211
- .clearfix:after {
212
- clear: both;
213
- }
214
-
215
- .hide-text {
216
- font: 0/0 a;
217
- color: transparent;
218
- text-shadow: none;
219
- background-color: transparent;
220
- border: 0;
221
- }
222
-
223
- .input-block-level {
224
- display: block;
225
- width: 100%;
226
- min-height: 30px;
227
- -webkit-box-sizing: border-box;
228
- -moz-box-sizing: border-box;
229
- box-sizing: border-box;
230
- }
231
-
232
- .clickable + .toggle-item {
233
- padding: 0 5px;
234
- }
235
-
236
- /*----------------------------------------
237
- Toggle Tips
238
- -------------------------------------------*/
239
-
240
- .tooltip {
241
- position: absolute;
242
- z-index: 1030;
243
- display: block;
244
- visibility: visible;
245
- padding: 5px;
246
- font-size: 11px;
247
- opacity: 0;
248
- filter: alpha(opacity=0);
249
- }
250
-
251
- .tooltip.in {
252
- opacity: 0.8;
253
- filter: alpha(opacity=80);
254
- }
255
-
256
- .tooltip.top {
257
- margin-top: -3px;
258
- }
259
-
260
- .tooltip.right {
261
- margin-left: 3px;
262
- }
263
-
264
- .tooltip.bottom {
265
- margin-top: 3px;
266
- }
267
-
268
- .tooltip.left {
269
- margin-left: -3px;
270
- }
271
-
272
- .tooltip-inner {
273
- max-width: 200px;
274
- padding: 3px 8px;
275
- color: #ffffff;
276
- text-align: center;
277
- text-decoration: none;
278
- background-color: #000000;
279
- -webkit-border-radius: 4px;
280
- -moz-border-radius: 4px;
281
- border-radius: 4px;
282
- }
283
-
284
- .tooltip-arrow {
285
- position: absolute;
286
- width: 0;
287
- height: 0;
288
- border-color: transparent;
289
- border-style: solid;
290
- }
291
-
292
- .tooltip.top .tooltip-arrow {
293
- bottom: 0;
294
- left: 50%;
295
- margin-left: -5px;
296
- border-width: 5px 5px 0;
297
- border-top-color: #000000;
298
- }
299
-
300
- .tooltip.right .tooltip-arrow {
301
- top: 50%;
302
- left: 0;
303
- margin-top: -5px;
304
- border-width: 5px 5px 5px 0;
305
- border-right-color: #000000;
306
- }
307
-
308
- .tooltip.left .tooltip-arrow {
309
- top: 50%;
310
- right: 0;
311
- margin-top: -5px;
312
- border-width: 5px 0 5px 5px;
313
- border-left-color: #000000;
314
- }
315
-
316
- .tooltip.bottom .tooltip-arrow {
317
- top: 0;
318
- left: 50%;
319
- margin-left: -5px;
320
- border-width: 0 5px 5px;
321
- border-bottom-color: #000000;
322
- }
323
-
324
- /*----------------------------------------
325
- Tipsy
326
- -------------------------------------------*/
327
-
328
- .tooltip-info {
329
- cursor: help;
330
- margin: -3px 0 0 5px;
331
- position: relative;
332
- top: 3px;
333
- }
334
-
335
- .tipsy {
336
- font-size: 10px;
337
- position: absolute;
338
- padding: 5px;
339
- z-index: 100000;
340
- }
341
-
342
- .tipsy-inner {
343
- background-color: #000;
344
- color: #FFF;
345
- max-width: 200px;
346
- padding: 5px 8px 4px 8px;
347
- text-align: center;
348
- }
349
-
350
- /* Rounded corners */
351
- .tipsy-inner {
352
- border-radius: 3px;
353
- -moz-border-radius: 3px;
354
- -webkit-border-radius: 3px;
355
- }
356
-
357
- /* Uncomment for shadow */
358
- /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/
359
-
360
- .tipsy-arrow {
361
- position: absolute;
362
- width: 0;
363
- height: 0;
364
- line-height: 0;
365
- border: 5px dashed #000;
366
- }
367
-
368
- /* Rules to colour arrows */
369
- .tipsy-arrow-n {
370
- border-bottom-color: #000;
371
- }
372
-
373
- .tipsy-arrow-s {
374
- border-top-color: #000;
375
- }
376
-
377
- .tipsy-arrow-e {
378
- border-left-color: #000;
379
- }
380
-
381
- .tipsy-arrow-w {
382
- border-right-color: #000;
383
- }
384
-
385
- .tipsy-n .tipsy-arrow {
386
- top: 0px;
387
- left: 50%;
388
- margin-left: -5px;
389
- border-bottom-style: solid;
390
- border-top: none;
391
- border-left-color: transparent;
392
- border-right-color: transparent;
393
- }
394
-
395
- .tipsy-nw .tipsy-arrow {
396
- top: 0;
397
- left: 10px;
398
- border-bottom-style: solid;
399
- border-top: none;
400
- border-left-color: transparent;
401
- border-right-color: transparent;
402
- }
403
-
404
- .tipsy-ne .tipsy-arrow {
405
- top: 0;
406
- right: 10px;
407
- border-bottom-style: solid;
408
- border-top: none;
409
- border-left-color: transparent;
410
- border-right-color: transparent;
411
- }
412
-
413
- .tipsy-s .tipsy-arrow {
414
- bottom: 0;
415
- left: 50%;
416
- margin-left: -5px;
417
- border-top-style: solid;
418
- border-bottom: none;
419
- border-left-color: transparent;
420
- border-right-color: transparent;
421
- }
422
-
423
- .tipsy-sw .tipsy-arrow {
424
- bottom: 0;
425
- left: 10px;
426
- border-top-style: solid;
427
- border-bottom: none;
428
- border-left-color: transparent;
429
- border-right-color: transparent;
430
- }
431
-
432
- .tipsy-se .tipsy-arrow {
433
- bottom: 0;
434
- right: 10px;
435
- border-top-style: solid;
436
- border-bottom: none;
437
- border-left-color: transparent;
438
- border-right-color: transparent;
439
- }
440
-
441
- .tipsy-e .tipsy-arrow {
442
- right: 0;
443
- top: 50%;
444
- margin-top: -5px;
445
- border-left-style: solid;
446
- border-right: none;
447
- border-top-color: transparent;
448
- border-bottom-color: transparent;
449
- }
450
-
451
- .tipsy-w .tipsy-arrow {
452
- left: 0;
453
- top: 50%;
454
- margin-top: -5px;
455
- border-right-style: solid;
456
- border-left: none;
457
- border-top-color: transparent;
458
- border-bottom-color: transparent;
459
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/css/admin-widget.min.css DELETED
@@ -1 +0,0 @@
1
- .wpgp-toggler{padding:10px;margin:0 0 10px;cursor:pointer;background-color:#EBEBEB;border:1px solid #E5E5E5;display:block}.wpgp-toggler span{background:url(../img/arrows.png) no-repeat 60% -107px;float:right;height:12px;display:inline-block;width:12px}.wpgp-toggler.toggled span{background-position:60% 1px}.toggle-item,.reviews-toggle-container{display:none}.toggle-item p{padding:0;margin:0 0 10px}.toggle-item.toggled,.reviews-toggle-container.toggled{display:block}.widget-api-option{line-height:22px}.widget-api-option input{}.toggle-item select{background:#FFF}.wpgp-method-span:hover,.search-api-option:hover,.business-api-option:hover{cursor:pointer}.wpgp-method-label{padding-left:4px}.new-window{background:url(../img/new-window-icon.png) no-repeat right 3px transparent;padding-right:16px}.wpgp-radio-label{margin:0 0 5px;display:block}.wpgp-widget-footer-links{font-style:italic}.wpgp-widget-footer-links a{margin-right:10px}.powered-by-google{background:url(../img/powered-by-google-on-white.png) no-repeat 0 0 transparent;width:104px;height:16px}.map-canvas{height:100%;margin:0;padding:0;min-height:400px}.google-autocomplete-map-wrap{display:none}.google-autocomplete-map-wrap .controls{margin-top:16px;border:1px solid transparent;border-radius:2px;box-sizing:border-box;-moz-box-sizing:border-box;height:32px;outline:0;box-shadow:0 2px 6px rgba(0,0,0,.3)}.marker-label,.marker-icon{z-index:99;position:absolute;display:block;margin-top:-50px;margin-left:-25px;width:50px;height:50px;font-size:30px!important;text-align:center;color:#FFF;white-space:nowrap}.pac-input{background-color:#fff;padding:0 11px 0 13px;width:100%;font-family:Roboto;font-size:15px;font-weight:300;text-overflow:ellipsis;display:none}.pac-input:focus{border-color:#4d90fe;width:100%}.map-canvas .pac-input{left:10px!important;top:42px!important;display:block!important;width:92%;line-height:26px;margin:0}.pac-container{font-family:Roboto}.type-selector{color:#fff;background-color:#4d90fe;padding:5px 11px 0;display:none}.type-selector label{font-family:Roboto;font-size:13px;font-weight:300}.map-canvas .type-selector{left:0!important;top:0!important;display:block!important;margin:0;width:100%}ul.map-control-list{margin:0;padding:0}.map-control-list li{float:left;margin:0 10px 0 0}.map-control-list li:last-child{margin-right:0}.map-control-list li input[type=radio]{margin:0 2px 0 0}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.clickable+.toggle-item{padding:0 5px}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-info{cursor:help;margin:-3px 0 0 5px;position:relative;top:3px}.tipsy{font-size:10px;position:absolute;padding:5px;z-index:100000}.tipsy-inner{background-color:#000;color:#FFF;max-width:200px;padding:5px 8px 4px;text-align:center}.tipsy-inner{border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.tipsy-arrow-n{border-bottom-color:#000}.tipsy-arrow-s{border-top-color:#000}.tipsy-arrow-e{border-left-color:#000}.tipsy-arrow-w{border-right-color:#000}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:0;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:0;border-top-color:transparent;border-bottom-color:transparent}
 
admin/assets/css/admin.css DELETED
@@ -1,713 +0,0 @@
1
- /**
2
- * Google Places Map CPT Styles
3
- */
4
-
5
- .clear:before,
6
- .clear:after {
7
- content: " ";
8
- display: table;
9
- }
10
-
11
- .clear:after {
12
- clear: both;
13
- }
14
-
15
- .hover-transition, .marker-icon-row .icon, .marker-row .marker-item {
16
- -webkit-transition: 0.2s all linear;
17
- -moz-transition: 0.2s all linear;
18
- -o-transition: 0.2s all linear;
19
- transition: 0.2s all linear;
20
- }
21
-
22
- .box-sizing {
23
- box-sizing: border-box;
24
- -moz-box-sizing: border-box;
25
- -webkit-box-sizing: border-box;
26
- }
27
-
28
- #gmb_markers_group_repeat {
29
- /*display: none;*/
30
- }
31
-
32
- .cmb_id_gmb_theme_json {
33
- display: none;
34
- }
35
-
36
- .marker-info-wrapper {
37
- background-color: #F1F1F1;
38
- margin: 8px 0 4px;
39
- padding: 12px 12px 12px 12px;
40
- font-size: 13px;
41
- }
42
-
43
- .marker-info-wrapper > div {
44
- margin: 0 0 5px;
45
- padding: 0;
46
- }
47
-
48
- .marker-info-wrapper > div.rating-wrap {
49
- margin: 0;
50
- padding: 0;
51
- }
52
-
53
- .repeatable-grouping .cmb-nested-table td {
54
- padding-top: 3px;
55
- }
56
-
57
- .repeatable-grouping .cmb-nested-table td pre {
58
- margin: 0;
59
- }
60
-
61
- .repeatable-grouping .cmb-nested-table td pre textarea {
62
- height: 50px;
63
- }
64
-
65
- .new-window {
66
- background: url('../img/new-window-icon.png') no-repeat right 3px transparent;
67
- padding-right: 16px;
68
- }
69
-
70
- /*Shortcode Input */
71
-
72
- .shortcode-wrap {
73
- margin: 1px 14px 12px 11px;
74
- }
75
-
76
- .shortcode-wrap label {
77
- margin: 0 0 3px;
78
- display: block;
79
- cursor: default;
80
- }
81
-
82
- .shortcode-input {
83
- margin: 0;
84
- width: 100%;
85
- }
86
-
87
- /*------------------------------------------
88
- CMB Interface
89
- --------------------------------------------*/
90
-
91
- .cmb_metabox_description {
92
- display: block;
93
- margin-top: 5px;
94
- }
95
-
96
- .cmb_id_gmb_places_search_multicheckbox ul {
97
- overflow: hidden;
98
- }
99
-
100
- .cmb_id_gmb_places_search_multicheckbox li {
101
- float: left;
102
- width: 33%;
103
- }
104
-
105
- .cmb_id_gmb_places_search_multicheckbox .cmb_metabox_description {
106
- margin-top: 10px;
107
- margin-right: 2px;
108
- }
109
-
110
- #google-map-wrap {
111
- position: relative;
112
- }
113
-
114
- .autocomplete-wrap {
115
- background: url('../img/powered-by-google-on-white.png') no-repeat right 8px rgba(0, 0, 0, 0);
116
- }
117
-
118
- .repeatable-group .shift-rows {
119
- display: none;
120
- }
121
-
122
- /*------------------------------------------
123
- Messages
124
- --------------------------------------------*/
125
-
126
- .wpgp-message {
127
- background-color: #FFF;
128
- border-left: 4px solid #7AD03A;
129
- -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
130
- box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
131
- box-sizing: border-box;
132
- -webkit-box-sizing: border-box;
133
- -moz-box-sizing: border-box;
134
- padding: 1px 12px;
135
- display: none;
136
- }
137
-
138
- .wpgp-message.warning-message {
139
- border-left: 4px solid #d40000;
140
- margin: 20px 0 0;
141
- }
142
-
143
- .wpgp-message p, .form-table td .wpgp-message p {
144
- margin: .5em 0;
145
- padding: 2px;
146
- }
147
-
148
- .places-change-message {
149
- margin-bottom: 15px;
150
- margin-right: 2px;
151
- }
152
-
153
- .places-change-message p {
154
- float: left;
155
- }
156
-
157
- .places-change-message .button {
158
- float: right;
159
- margin-top: 5px;
160
- }
161
-
162
- #google-map-wrap .wpgp-message {
163
- margin-top: 20px;
164
- }
165
-
166
- /*------------------------------------------
167
- Google Map Metabox
168
- --------------------------------------------*/
169
-
170
- #map {
171
- width: 100%;
172
- margin: 0 auto;
173
- }
174
-
175
- .places-loading {
176
- background: url('../img/spinner.gif') no-repeat center right transparent;
177
- font-style: italic;
178
- position: absolute;
179
- top: -34px;
180
- right: 31px;
181
- padding: 0 25px 0 0;
182
- display: none;
183
- }
184
-
185
- .cmb_id_gmb_map_type td {
186
- padding-bottom: 0;
187
- }
188
-
189
- .cmb_id_gmb_map_type .cmb_option {
190
- margin: 5px 0 10px;
191
- }
192
-
193
- .cmb_id_gmb_geocoder td {
194
- padding-bottom: 3px;
195
- }
196
-
197
- /*------------------------------------------
198
- General Styles
199
- --------------------------------------------*/
200
-
201
- .cmb_id_gmb_search_radius, .cmb_id_gmb_places_search_multicheckbox {
202
- display: none;
203
- }
204
-
205
- #google_maps_details_options tr {
206
- display: none;
207
- }
208
-
209
- #google_maps_details_options tr.cmb_id_gmb_show_poi {
210
- display: table-row;
211
- }
212
-
213
- .snazzy-link {
214
- font-size: 10px;
215
- text-transform: uppercase;
216
- font-style: normal;
217
- display: inline-block;
218
- }
219
-
220
- .width_unit_label, .width_radio, .map-width, .map-height, .size-label {
221
- float: left !important;
222
- }
223
-
224
- #width_wrap {
225
- margin: 0 0 10px;
226
- }
227
-
228
- #size_labels_wrap {
229
- margin: 8px 0 0 10px;
230
- padding: 0;
231
- float: left;
232
- }
233
-
234
- #width_unit_percent {
235
- margin: 0 3px 0 0;
236
- }
237
-
238
- #width_unit_px {
239
- margin: 0 3px 0 8px;
240
- }
241
-
242
- .inner-sidebar table.cmb_metabox label.size-label, #side-sortables table.cmb_metabox label.size-label, label.size-label {
243
- font-weight: normal;
244
- font-style: italic;
245
- }
246
-
247
- .inner-sidebar table.cmb_metabox label.size-label, #side-sortables table.cmb_metabox label.size-label, .form-table label.size-label {
248
- padding: 9px 0 0;
249
- width: 50px;
250
- font-weight: normal;
251
- }
252
-
253
- .map-width, .map-height {
254
- width: 55px !important
255
- }
256
-
257
- /*------------------------------------------
258
- Place Markers
259
- --------------------------------------------*/
260
-
261
- /* Hacky fix to prevent scrollbars */
262
- #google_maps_preview_metabox .gm-style-iw, #google_maps_preview_metabox .gm-style-iw > div {
263
- overflow: visible !important;
264
- }
265
-
266
- #google_maps_preview_metabox .gm-style-iw > div > div {
267
- overflow: visible !important;
268
- }
269
-
270
- #infobubble-content {
271
- overflow: hidden !important;
272
- }
273
-
274
- #infobubble-content.loading {
275
- background: url('../../../includes/assets/img/loading.GIF') no-repeat center center #FFF;
276
- }
277
-
278
- #google-map-wrap div#infobubble-content > div {
279
- white-space: normal;
280
- }
281
-
282
- #infobubble-content p {
283
- font-size: 12px;
284
- margin: 0 0 7px;
285
- color: #2C2C2C;
286
- }
287
-
288
- #infobubble-content {
289
- padding: 0 0 0 0;
290
- margin: 3px -20px 0 0;
291
- min-width: 314px;
292
- min-height: 80px;
293
- height: 100%;
294
- overflow: hidden;
295
- box-sizing: border-box;
296
- cursor: default;
297
- }
298
-
299
- #infobubble-content .place-title {
300
- border: 1px solid #FFF;
301
- font-family: Roboto, Arial, sans-serif;
302
- font-size: 16px;
303
- line-height: 21px;
304
- font-weight: 700;
305
- min-height: 21px;
306
- white-space: normal;
307
- padding-right: 20px;
308
- }
309
-
310
- #infobubble-content .place-description {
311
- white-space: normal;
312
- }
313
-
314
- .marker-confirm-place {
315
- margin: 0 8px 4px 0;
316
- display: inline-block;
317
- }
318
-
319
- .marker-confirm-place:hover {
320
- cursor: pointer;
321
- }
322
-
323
- /* Ratings */
324
- #infobubble-content .rating-wrap {
325
- overflow: hidden;
326
- }
327
-
328
- #infobubble-content .numeric-rating {
329
- font-size: 16px;
330
- color: #DD4B39;
331
- font-weight: 400;
332
- float: left;
333
- margin: 0 5px 0 0;
334
- }
335
-
336
- #infobubble-content .star-rating-wrap {
337
- background: url('../../../includes/assets/img/review_stars.png') no-repeat 0 0 transparent;
338
- height: 13px;
339
- width: 67px;
340
- float: left;
341
- margin: 5px 0 0;
342
- }
343
-
344
- #infobubble-content .star-rating-size {
345
- background: url('../../../includes/assets/img/review_stars.png') no-repeat 0 -13px transparent;
346
- height: 13px;
347
- }
348
-
349
- /*------------------------------------------
350
- Editable Marker
351
- --------------------------------------------*/
352
-
353
- #edit-toolbar {
354
- list-style: none;
355
- margin: 0;
356
- padding: 0;
357
- text-align: right;
358
- }
359
-
360
- #edit-toolbar > li {
361
- margin: 0 4px;
362
- cursor: pointer;
363
- display: inline-block;
364
- content: '';
365
- height: 21px;
366
- width: 21px;
367
- opacity: .5;
368
- background: url('../img/icons-infowindow-002.svg');
369
- }
370
-
371
- #edit-toolbar > li:hover {
372
- opacity: .75;
373
- }
374
-
375
- #edit-toolbar > li.trash-marker {
376
- background-position: -42px 0;
377
- }
378
-
379
- #edit-toolbar > li.edit-info {
380
- background: url('../img/icons-app-000.svg');
381
- background-position: 21px 21px;
382
- }
383
-
384
- /*------------------------------------------
385
- Display Options
386
- --------------------------------------------*/
387
-
388
- #lat-lng-wrap input[type=text].latitude, #lat-lng-wrap input[type=text].longitude,
389
- #side-sortables #lat-lng-wrap input[type=text].latitude, #side-sortables #lat-lng-wrap input[type=text].longitude {
390
- width: 100px;
391
- float: left;
392
- }
393
-
394
- .lat-lng-wrap {
395
- float: left;
396
- margin: 0 0 10px;
397
- clear: none;
398
- }
399
-
400
- .lng-wrap {
401
- margin-bottom: 0;
402
- }
403
-
404
- .lat-lng-wrap > span, .lat-lng-wrap > input {
405
- float: left;
406
- }
407
-
408
- .lat-lng-wrap > span {
409
- margin: 8px 5px 0 0;
410
- width: 80px;
411
- font-style: italic;
412
- }
413
-
414
- /* Mini message */
415
-
416
- .lat-lng-change-message {
417
- float: left;
418
- clear: both;
419
- margin: 10px 0 0;
420
- width: 100%;
421
- }
422
-
423
- .lat-lng-change-message > p {
424
- float: left;
425
- }
426
-
427
- .lat-lng-update-btn {
428
- float: right;
429
- margin: 7px 0 0 !important;
430
- }
431
-
432
- /*-------------------------------------
433
- Autocomplete Metabox
434
- ---------------------------------------*/
435
- #google_maps_metabox .search-autocomplete {
436
- width: 78%;
437
- margin-right: 10px;
438
- }
439
-
440
- #google_maps_metabox .autocomplete-wrap p {
441
- font-style: italic;
442
- margin-bottom: 5px !important;
443
- }
444
-
445
- #google_maps_metabox a.drop-marker {
446
- font-style: normal;
447
- }
448
-
449
- /*-------------------------------------
450
- Save Info Window Toolbar
451
- ---------------------------------------*/
452
-
453
- #save-toolbar {
454
- margin: 0;
455
- padding: 0;
456
- float: left;
457
- }
458
-
459
- #save-toolbar > li {
460
- display: inline-block;
461
- margin: 0;
462
- padding: 0;
463
- }
464
-
465
- #save-toolbar > li:first-child {
466
- margin: 0 5px 0 0;
467
- }
468
-
469
- #save-toolbar > li .google-btn {
470
- width: 75px;
471
- }
472
-
473
- a.marker-edit-link {
474
- background: url('../img/marker-btn.png') no-repeat 0 0 transparent;
475
- width: 20px;
476
- height: 20px;
477
- opacity: 0.5;
478
- margin: 4px 0 0;
479
- display: block;
480
- float: right;
481
- }
482
-
483
- #save-toolbar > li .marker-edit-link {
484
- opacity: 0.75;
485
- }
486
-
487
- #infobubble-content .edit-place-title {
488
- width: 290px;
489
- margin: 0 0 10px;
490
- }
491
-
492
- #infobubble-content .edit-place-description {
493
- display: block;
494
- font-size: 12px;
495
- width: 100%;
496
- min-height: 100px;
497
- }
498
-
499
- /*-------------------------------------
500
- Marker Icon Modal
501
- ---------------------------------------*/
502
-
503
- .marker-icon-row {
504
- margin-bottom: 10px;
505
- }
506
-
507
- .marker-icon-row, .save-marker-icon {
508
- display: none;
509
- }
510
-
511
- .marker-icon-row .icon, .marker-row .marker-item {
512
- width: 31%;
513
- float: left;
514
- font-size: 14px;
515
- margin-bottom: 10px;
516
- padding: 4px;
517
- border-radius: 5px;
518
- }
519
-
520
- .icon-inner {
521
- position: relative;
522
- top: -8px;
523
- }
524
-
525
- .marker-icon-row .icon span {
526
- font-size: 32px;
527
- margin-right: 8px;
528
- position: relative;
529
- top: 8px;
530
- }
531
-
532
- .marker-icon-row .icon:hover, .marker-row .marker-item:hover, .marker-item-selected {
533
- cursor: pointer;
534
- background: #DDEAEC;
535
- }
536
-
537
- .marker-label {
538
- z-index: 99;
539
- position: absolute;
540
- display: block;
541
- margin-top: -50px;
542
- margin-left: -25px;
543
- width: 50px;
544
- height: 50px;
545
- font-size: 28px;
546
- text-align: center;
547
- color: #FFFFFF;
548
- white-space: nowrap;
549
- line-height: 1;
550
- }
551
-
552
- /* Color */
553
-
554
- .marker-icon-color-wrap, .marker-label-color-wrap {
555
- display: none;
556
- }
557
-
558
- .marker-label-color-wrap {
559
- margin-bottom: 60px;
560
- }
561
-
562
- .marker-color-picker-wrap {
563
- float: left;
564
- }
565
-
566
- #TB_ajaxContent p.color-desc {
567
- float: left;
568
- margin: 0 0 0 10px;
569
- padding-top: 3px;
570
- font-style: italic;
571
- }
572
-
573
- /* Pins */
574
-
575
- .marker-row .marker-item {
576
- float: left;
577
- width: 31%;
578
- }
579
-
580
- .marker-svg {
581
- float: left;
582
- margin-right: 12px;
583
- height: 50px;
584
- }
585
-
586
- .marker-svg .default-marker {
587
- margin: 8px 0 0 10px;
588
- }
589
-
590
- .marker-description {
591
- line-height: 50px;
592
- }
593
-
594
- /* Save button */
595
-
596
- .save-marker-icon {
597
- background: #F1F1F1;
598
- padding: 10px;
599
- position: absolute;
600
- bottom: 0;
601
- left: 0;
602
- width: 100%;
603
- box-sizing: border-box;
604
- -moz-box-sizing: border-box;
605
- -webkit-box-sizing: border-box;
606
- border-top: 1px solid #DFDFDF;
607
- }
608
-
609
- .save-marker-icon .save-text {
610
- float: left;
611
- font-style: italic;
612
- margin: 0;
613
- }
614
-
615
- .save-marker-icon .button {
616
- float: right;
617
- }
618
-
619
- .radius-label {
620
- position: relative;
621
- top: 35px;
622
- color: #7dbee8;
623
- }
624
-
625
- /*-------------------------------------
626
- Buttons
627
- ---------------------------------------*/
628
-
629
- .google-btn {
630
- -webkit-border-radius: 2px;
631
- border-radius: 2px;
632
- cursor: default;
633
- font-weight: 300;
634
- font-size: 13px;
635
- text-align: center;
636
- white-space: nowrap;
637
- height: 27px;
638
- line-height: 27px;
639
- min-width: 54px;
640
- outline: 0;
641
- padding: 0 8px;
642
-
643
- }
644
-
645
- .google-btn-blue {
646
- -webkit-box-shadow: none;
647
- box-shadow: none;
648
- background-color: #4D90FE;
649
- background-image: -webkit-linear-gradient(top, #4D90FE, #4787ED);
650
- background-image: linear-gradient(top, #4d90fe, #4787ed);
651
- border: 1px solid #3079ED;
652
- color: #FFF;
653
- }
654
-
655
- .google-btn-blue:hover {
656
- -webkit-box-shadow: none;
657
- box-shadow: none;
658
- background-color: #357AE8;
659
- background-image: -webkit-linear-gradient(top, #4D90FE, #357AE8);
660
- background-image: linear-gradient(top, #4d90fe, #357ae8);
661
- border: 1px solid #2F5BB7;
662
- border-bottom-color: #2F5BB7;
663
- }
664
-
665
- .google-btn-blue:active, .google-btn-blue:focus {
666
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
667
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
668
- background: #357AE8;
669
- border: 1px solid #2F5BB7;
670
- border-top: 1px solid #2F5BB7;
671
- }
672
-
673
- .google-btn-default {
674
- -webkit-box-shadow: none;
675
- box-shadow: none;
676
- background-color: #F5F5F5;
677
- background-image: -webkit-linear-gradient(top, #F5F5F5, #F1F1F1);
678
- background-image: linear-gradient(top, #f5f5f5, #f1f1f1);
679
- color: #333;
680
- border: 1px solid #DCDCDC;
681
- border: 1px solid rgba(0, 0, 0, 0.1);
682
- }
683
-
684
- .google-btn-default:hover {
685
- -webkit-box-shadow: none;
686
- box-shadow: none;
687
- background-color: #F8F8F8;
688
- background-image: -webkit-linear-gradient(top, #F8F8F8, #F1F1F1);
689
- background-image: linear-gradient(top, #f8f8f8, #f1f1f1);
690
- border: 1px solid #C6C6C6;
691
- color: #111;
692
- }
693
-
694
- .google-btn-default:active {
695
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
696
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
697
- background: #F8F8F8;
698
- color: #111;
699
- }
700
-
701
- /*-------------------------------------
702
- Temporary Info Window
703
- ---------------------------------------*/
704
-
705
- .infowindow-toolbar {
706
- display: block;
707
- margin: 0;
708
- padding: 8px 0 10px;
709
- }
710
-
711
- .add-marker {
712
- text-decoration: none;
713
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/css/admin.min.css DELETED
@@ -1 +0,0 @@
1
- .clear:before,.clear:after{content:" ";display:table}.clear:after{clear:both}.hover-transition,.marker-icon-row .icon,.marker-row .marker-item{-webkit-transition:.2s all linear;-moz-transition:.2s all linear;-o-transition:.2s all linear;transition:.2s all linear}.box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}#gmb_markers_group_repeat{}.cmb_id_gmb_theme_json{display:none}.marker-info-wrapper{background-color:#F1F1F1;margin:8px 0 4px;padding:12px;font-size:13px}.marker-info-wrapper>div{margin:0 0 5px;padding:0}.marker-info-wrapper>div.rating-wrap{margin:0;padding:0}.repeatable-grouping .cmb-nested-table td{padding-top:3px}.repeatable-grouping .cmb-nested-table td pre{margin:0}.repeatable-grouping .cmb-nested-table td pre textarea{height:50px}.new-window{background:url(../img/new-window-icon.png) no-repeat right 3px transparent;padding-right:16px}.shortcode-wrap{margin:1px 14px 12px 11px}.shortcode-wrap label{margin:0 0 3px;display:block;cursor:default}.shortcode-input{margin:0;width:100%}.cmb_metabox_description{display:block;margin-top:5px}.cmb_id_gmb_places_search_multicheckbox ul{overflow:hidden}.cmb_id_gmb_places_search_multicheckbox li{float:left;width:33%}.cmb_id_gmb_places_search_multicheckbox .cmb_metabox_description{margin-top:10px;margin-right:2px}#google-map-wrap{position:relative}.autocomplete-wrap{background:url(../img/powered-by-google-on-white.png) no-repeat right 8px rgba(0,0,0,0)}.repeatable-group .shift-rows{display:none}.wpgp-message{background-color:#FFF;border-left:4px solid #7AD03A;-webkit-box-shadow:1px 1px 1px 1px rgba(0,0,0,.15);box-shadow:1px 1px 1px 1px rgba(0,0,0,.15);box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:1px 12px;display:none}.wpgp-message.warning-message{border-left:4px solid #d40000;margin:20px 0 0}.wpgp-message p,.form-table td .wpgp-message p{margin:.5em 0;padding:2px}.places-change-message{margin-bottom:15px;margin-right:2px}.places-change-message p{float:left}.places-change-message .button{float:right;margin-top:5px}#google-map-wrap .wpgp-message{margin-top:20px}#map{width:100%;margin:0 auto}.places-loading{background:url(../img/spinner.gif) no-repeat center right transparent;font-style:italic;position:absolute;top:-34px;right:31px;padding:0 25px 0 0;display:none}.cmb_id_gmb_map_type td{padding-bottom:0}.cmb_id_gmb_map_type .cmb_option{margin:5px 0 10px}.cmb_id_gmb_geocoder td{padding-bottom:3px}.cmb_id_gmb_search_radius,.cmb_id_gmb_places_search_multicheckbox{display:none}#google_maps_details_options tr{display:none}#google_maps_details_options tr.cmb_id_gmb_show_poi{display:table-row}.snazzy-link{font-size:10px;text-transform:uppercase;font-style:normal;display:inline-block}.width_unit_label,.width_radio,.map-width,.map-height,.size-label{float:left!important}#width_wrap{margin:0 0 10px}#size_labels_wrap{margin:8px 0 0 10px;padding:0;float:left}#width_unit_percent{margin:0 3px 0 0}#width_unit_px{margin:0 3px 0 8px}.inner-sidebar table.cmb_metabox label.size-label,#side-sortables table.cmb_metabox label.size-label,label.size-label{font-weight:400;font-style:italic}.inner-sidebar table.cmb_metabox label.size-label,#side-sortables table.cmb_metabox label.size-label,.form-table label.size-label{padding:9px 0 0;width:50px;font-weight:400}.map-width,.map-height{width:55px!important}#google_maps_preview_metabox .gm-style-iw,#google_maps_preview_metabox .gm-style-iw>div{overflow:visible!important}#google_maps_preview_metabox .gm-style-iw>div>div{overflow:visible!important}#infobubble-content{overflow:hidden!important}#infobubble-content.loading{background:url(../../../includes/assets/img/loading.GIF) no-repeat center center #FFF}#google-map-wrap div#infobubble-content>div{white-space:normal}#infobubble-content p{font-size:12px;margin:0 0 7px;color:#2C2C2C}#infobubble-content{padding:0;margin:3px -20px 0 0;min-width:314px;min-height:80px;height:100%;overflow:hidden;box-sizing:border-box;cursor:default}#infobubble-content .place-title{border:1px solid #FFF;font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:21px;font-weight:700;min-height:21px;white-space:normal;padding-right:20px}#infobubble-content .place-description{white-space:normal}.marker-confirm-place{margin:0 8px 4px 0;display:inline-block}.marker-confirm-place:hover{cursor:pointer}#infobubble-content .rating-wrap{overflow:hidden}#infobubble-content .numeric-rating{font-size:16px;color:#DD4B39;font-weight:400;float:left;margin:0 5px 0 0}#infobubble-content .star-rating-wrap{background:url(../../../includes/assets/img/review_stars.png) no-repeat 0 0 transparent;height:13px;width:67px;float:left;margin:5px 0 0}#infobubble-content .star-rating-size{background:url(../../../includes/assets/img/review_stars.png) no-repeat 0 -13px transparent;height:13px}#edit-toolbar{list-style:none;margin:0;padding:0;text-align:right}#edit-toolbar>li{margin:0 4px;cursor:pointer;display:inline-block;content:'';height:21px;width:21px;opacity:.5;background:url(../img/icons-infowindow-002.svg)}#edit-toolbar>li:hover{opacity:.75}#edit-toolbar>li.trash-marker{background-position:-42px 0}#edit-toolbar>li.edit-info{background:url(../img/icons-app-000.svg);background-position:21px 21px}#lat-lng-wrap input[type=text].latitude,#lat-lng-wrap input[type=text].longitude,#side-sortables #lat-lng-wrap input[type=text].latitude,#side-sortables #lat-lng-wrap input[type=text].longitude{width:100px;float:left}.lat-lng-wrap{float:left;margin:0 0 10px;clear:none}.lng-wrap{margin-bottom:0}.lat-lng-wrap>span,.lat-lng-wrap>input{float:left}.lat-lng-wrap>span{margin:8px 5px 0 0;width:80px;font-style:italic}.lat-lng-change-message{float:left;clear:both;margin:10px 0 0;width:100%}.lat-lng-change-message>p{float:left}.lat-lng-update-btn{float:right;margin:7px 0 0!important}#google_maps_metabox .search-autocomplete{width:78%;margin-right:10px}#google_maps_metabox .autocomplete-wrap p{font-style:italic;margin-bottom:5px!important}#google_maps_metabox a.drop-marker{font-style:normal}#save-toolbar{margin:0;padding:0;float:left}#save-toolbar>li{display:inline-block;margin:0;padding:0}#save-toolbar>li:first-child{margin:0 5px 0 0}#save-toolbar>li .google-btn{width:75px}a.marker-edit-link{background:url(../img/marker-btn.png) no-repeat 0 0 transparent;width:20px;height:20px;opacity:.5;margin:4px 0 0;display:block;float:right}#save-toolbar>li .marker-edit-link{opacity:.75}#infobubble-content .edit-place-title{width:290px;margin:0 0 10px}#infobubble-content .edit-place-description{display:block;font-size:12px;width:100%;min-height:100px}.marker-icon-row{margin-bottom:10px}.marker-icon-row,.save-marker-icon{display:none}.marker-icon-row .icon,.marker-row .marker-item{width:31%;float:left;font-size:14px;margin-bottom:10px;padding:4px;border-radius:5px}.icon-inner{position:relative;top:-8px}.marker-icon-row .icon span{font-size:32px;margin-right:8px;position:relative;top:8px}.marker-icon-row .icon:hover,.marker-row .marker-item:hover,.marker-item-selected{cursor:pointer;background:#DDEAEC}.marker-label{z-index:99;position:absolute;display:block;margin-top:-50px;margin-left:-25px;width:50px;height:50px;font-size:28px;text-align:center;color:#FFF;white-space:nowrap;line-height:1}.marker-icon-color-wrap,.marker-label-color-wrap{display:none}.marker-label-color-wrap{margin-bottom:60px}.marker-color-picker-wrap{float:left}#TB_ajaxContent p.color-desc{float:left;margin:0 0 0 10px;padding-top:3px;font-style:italic}.marker-row .marker-item{float:left;width:31%}.marker-svg{float:left;margin-right:12px;height:50px}.marker-svg .default-marker{margin:8px 0 0 10px}.marker-description{line-height:50px}.save-marker-icon{background:#F1F1F1;padding:10px;position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-top:1px solid #DFDFDF}.save-marker-icon .save-text{float:left;font-style:italic;margin:0}.save-marker-icon .button{float:right}.radius-label{position:relative;top:35px;color:#7dbee8}.google-btn{-webkit-border-radius:2px;border-radius:2px;cursor:default;font-weight:300;font-size:13px;text-align:center;white-space:nowrap;height:27px;line-height:27px;min-width:54px;outline:0;padding:0 8px}.google-btn-blue{-webkit-box-shadow:none;box-shadow:none;background-color:#4D90FE;background-image:-webkit-linear-gradient(top,#4D90FE,#4787ED);background-image:linear-gradient(top,#4d90fe,#4787ed);border:1px solid #3079ED;color:#FFF}.google-btn-blue:hover{-webkit-box-shadow:none;box-shadow:none;background-color:#357AE8;background-image:-webkit-linear-gradient(top,#4D90FE,#357AE8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2F5BB7;border-bottom-color:#2F5BB7}.google-btn-blue:active,.google-btn-blue:focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 1px 2px rgba(0,0,0,.3);background:#357AE8;border:1px solid #2F5BB7;border-top:1px solid #2F5BB7}.google-btn-default{-webkit-box-shadow:none;box-shadow:none;background-color:#F5F5F5;background-image:-webkit-linear-gradient(top,#F5F5F5,#F1F1F1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);color:#333;border:1px solid #DCDCDC;border:1px solid rgba(0,0,0,.1)}.google-btn-default:hover{-webkit-box-shadow:none;box-shadow:none;background-color:#F8F8F8;background-image:-webkit-linear-gradient(top,#F8F8F8,#F1F1F1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #C6C6C6;color:#111}.google-btn-default:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background:#F8F8F8;color:#111}.infowindow-toolbar{display:block;margin:0;padding:8px 0 10px}.add-marker{text-decoration:none}
 
admin/assets/css/grid.min.css DELETED
@@ -1 +0,0 @@
1
- *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.container{padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}
 
admin/assets/css/index.php DELETED
@@ -1 +0,0 @@
1
- <?php // Silence is golden
 
admin/assets/img/help.png DELETED
Binary file
admin/assets/js/admin-google-map.min.js DELETED
@@ -1 +0,0 @@
1
- !function($){"use strict";function drop_marker(a,b){var c=a.lat(),d=a.lng();"undefined"!=typeof e&&e.setVisible(!1),$(".drop-marker").removeClass("active").text("Drop a Marker"),map.setOptions({draggableCursor:null}),google.maps.event.removeListener(b);var e=new Marker({position:a,map:map,icon:gmb_data.plugin_url+"/public/assets/img/default-marker.png",zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1}),f=get_marker_index();$("#gmb_markers_group_"+f+"_title").val("Point "+f),$("#gmb_markers_group_"+f+"_lat").val(c),$("#gmb_markers_group_"+f+"_lng").val(d),get_editable_info_window(f,e),google.maps.event.addListener(e,"click",function(){get_info_window_content(f,e)})}function initialize_map(a){lat_field=$("#gmb_lat_lng-latitude"),lng_field=$("#gmb_lat_lng-longitude");var b=lat_field.val()?lat_field.val():"",c=lng_field.val()?lng_field.val():"";zoom=parseInt($("#gmb_zoom").val()),lat_lng=new google.maps.LatLng(b,c);var d={zoom:zoom,streetViewControl:!1,styles:[{stylers:[{visibility:"simplified"}]},{elementType:"labels",stylers:[{visibility:"off"}]}]};map=new google.maps.Map(a[0],d),places_service=new google.maps.places.PlacesService(map),navigator.geolocation&&"yes"===gmb_data.geolocate_setting&&""==c&&""==b?navigator.geolocation.getCurrentPosition(function(a){initial_location=new google.maps.LatLng(a.coords.latitude,a.coords.longitude),map.setCenter(initial_location),lat_field.val(a.coords.latitude),lng_field.val(a.coords.longitude)}):""!==b&&""!==c?map.setCenter(new google.maps.LatLng(b,c)):(alert("Geolocation service failed."),initial_location=new google.maps.LatLng(gmb_data.default_lat,gmb_data.default_lng),lat_field.val(gmb_data.default_lat),lng_field.val(gmb_data.default_lng),map.setCenter(initial_location)),set_map_type(!1),"none"!==$("#gmb_theme").val()&&set_map_theme(!1),set_street_view(),set_pan_control(),set_draggable(),set_double_click_zoom(),set_mouse_wheel_scroll(),set_map_type_control(),set_map_zoom_control(),"undefined"==typeof autocomplete&&(autocomplete=new google.maps.places.Autocomplete($("#gmb_geocoder")[0]),autocomplete.bindTo("bounds",map),google.maps.event.addListener(autocomplete,"place_changed",function(){return $("#gmb_geocoder").one("blur",function(){$("#gmb_geocoder").val("")}),setTimeout(function(){$("#gmb_geocoder").val("")},10),"undefined"!=typeof tentative_location_marker&&tentative_location_marker.setVisible(!1),place=autocomplete.getPlace(),lat_field.val(place.geometry.location.lat()),lng_field.val(place.geometry.location.lng()),place.geometry?(map.setCenter(place.geometry.location),void add_tentative_marker(map,place.reference)):void alert("Error: Place not found!")})),info_bubble=new google.maps.InfoWindow({maxWidth:315}),google.maps.event.addListenerOnce(map,"idle",function(){handle_map_zoom(map),add_markers(map),"undefined"!=typeof $(".cmb_id_gmb_show_places input:radio").prop("checked")&&"yes"===$(".cmb_id_gmb_show_places input:radio:checked").val()&&perform_places_search()}),google.maps.event.addListener(map,"zoom_changed",function(){handle_map_zoom(map)}),google.maps.event.addListener(map,"dragend",function(){var a=map.getCenter();$(".lat-lng-change-message").slideDown(),$(".lat-lng-update-btn").attr("data-lat",a.lat()),$(".lat-lng-update-btn").attr("data-lng",a.lng())})}function add_tentative_marker(a,b){var c=a.getCenter();tentative_location_marker=new google.maps.Marker({map:a,title:"Map Icons",animation:google.maps.Animation.DROP,position:new google.maps.LatLng(c.lat(),c.lng()),icon:new google.maps.MarkerImage(gmb_data.plugin_url+"/public/assets/img/temp-marker.png"),zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1});var d=google.maps.event.addListener(tentative_location_marker,"mouseover",function(){add_circle(b)}),e=google.maps.event.addListener(tentative_location_marker,"mouseout",function(){hover_circle.setVisible(!1)});google.maps.event.addListener(tentative_location_marker,"click",function(){google.maps.event.removeListener(d),google.maps.event.removeListener(e),hover_circle.setVisible(!0),add_tenative_info_window(b,tentative_location_marker)}),tentative_location_marker.setVisible(!0),a.setZoom(zoom)}function add_tenative_info_window(a,b){var c={key:gmb_data.api_key,reference:a};places_service.getDetails(c,function(a,c){if(c==google.maps.places.PlacesServiceStatus.OK){var d=a.geometry.location.lat(),e=a.geometry.location.lng(),f='<p class="place-title">'+a.name+"</p>";f+=add_place_content_to_info_window(a),f+='<div class="infowindow-toolbar clear"><a href="#" class="add-marker" data-title="'+a.name+'" data-reference="'+a.reference+'" data-lat="'+d+'" data-lng="'+e+'">Add to Map</a></div>',f=set_info_window_wrapper(f),info_bubble.setContent(f),info_bubble.open(map,b),google.maps.event.addListener(info_bubble,"closeclick",function(){hover_circle.setVisible(!1)})}})}function add_place_content_to_info_window(a){var b;return b='<div class="marker-info-wrapper">',b+=a.formatted_address?'<div class="place-address">'+a.formatted_address+"</div>":"",b+=a.formatted_phone_number?'<div class="place-phone">'+a.formatted_phone_number+"</div>":"",b+=a.website?'<div class="place-website"><a href="'+a.website+'" target="_blank" rel="nofollow" title="Click to visit the '+a.name+' website">Website</a></div>':"",a.rating&&(b+='<div class="rating-wrap clear"><p class="numeric-rating">'+a.rating+'</p><div class="star-rating-wrap"><div class="star-rating-size" style="width:'+65*a.rating/5+'px;"></div></div></div>'),b+="</div>"}function get_editable_info_window(index,marker){info_bubble.close(),info_bubble.setContent('<div id="infobubble-content" class="loading"></div>'),info_bubble.open(map,marker);var info_window_data=get_info_window_saved_data(index),info_window_content;info_window_data.title||(info_window_data.title="Point "+index),info_window_content='<input class="edit-place-title" data-field="#gmb_markers_group_'+index+'_title" type="text" value="'+info_window_data.title+'">',info_window_content+='<textarea class="edit-place-description" data-field="#gmb_markers_group_'+index+'_description">'+info_window_data.desc+"</textarea>",info_window_content+='<div class="infowindow-toolbar clear"><ul id="save-toolbar"><li class="info-window-save"><div class="google-btn-blue google-btn google-save-btn" data-tooltip="Save changes" data-index="'+index+'">Save</div></li><li class="info-window-cancel"><div class="google-btn-default google-btn google-cancel-btn" data-tooltip="Cancel edit" data-index="'+index+'">Cancel</div></li></ul><span class="marker-edit-link-wrap" data-index="'+index+'"><a href="#TB_inline?width=600&height=550&inlineId=marker-icon-modal" data-tooltip="Change icon" class="marker-edit-link thickbox"></a></span></div>',info_window_content=set_info_window_wrapper(info_window_content),info_bubble.setContent(info_window_content),initialize_tooltips(),google.maps.event.addDomListener($(".google-save-btn")[0],"click",function(){var a=$(".edit-place-title").data("field"),b=$(".edit-place-title").val(),c=$(".edit-place-description").data("field"),d=$(".edit-place-description").val();$(a).val(b),$(c).val(d),get_info_window_content($(this).data("index"),marker),google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)}),google.maps.event.addDomListener(info_bubble,"closeclick",function(){google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)}),google.maps.event.addDomListener($(".google-cancel-btn")[0],"click",function(){get_info_window_content($(this).data("index"),marker),google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)});var edit_marker_icon_button_click=google.maps.event.addDomListener($(".marker-edit-link-wrap")[0],"click",function(){$(".save-marker-button").attr("data-marker-index",$(this).data("index"))}),save_icon_listener=google.maps.event.addDomListener($(".save-marker-button")[0],"click",function(){var marker_position=marker.getPosition(),marker_icon_data,marker_icon=$(this).data("marker"),marker_icon_color=$(this).data("marker-color"),label_color=$(this).data("label-color"),marker_label_inline_style="color:"+label_color+"; ";"MAP_PIN"===marker_icon?marker_label_inline_style+="font-size: 20px;position: relative; top: -3px;":"SQUARE_PIN"==marker_icon&&(marker_label_inline_style+="font-size: 20px;position: relative; top: 12px;");var marker_label_data='<i class="'+$(this).data("label")+'" style="'+marker_label_inline_style+'"></i>';""==marker_icon?(marker_icon_data=gmb_data.plugin_url+"/public/assets/img/default-marker.png",$("#gmb_markers_group_"+index+"_marker").val(""),marker_label_data=""):(marker_icon_data="{ path : "+marker_icon+', fillColor : "'+marker_icon_color+'", fillOpacity : 1, strokeColor : "", strokeWeight: 0, scale : 1 / 3 }',$("#gmb_markers_group_"+index+"_marker").val(marker_icon_data),marker_icon_data=eval("("+marker_icon_data+")")),marker.setMap(null),$("#gmb_markers_group_"+index+"_label").val(marker_label_data),marker=new Marker({position:marker_position,map:map,zIndex:9,icon:marker_icon_data,label:marker_label_data}),google.maps.event.addListener(marker,"click",function(){get_info_window_content(index,marker)}),$(".icon, .marker-item").removeClass("marker-item-selected"),$(".marker-icon-row, .save-marker-icon, .marker-icon-color-wrap, .marker-label-color-wrap").hide(),$(this).removeData("marker"),$(this).removeData("marker-color"),$(this).removeData("label"),$(this).removeData("label-color"),tb_remove(),google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)})}function set_info_window_wrapper(a){var b='<div id="infobubble-content" class="main-place-infobubble-content">';return b+=a,b+="</div>"}function add_circle(a){hover_circle=new google.maps.Marker({position:tentative_location_marker.getPosition(),zIndex:google.maps.Marker.MAX_ZINDEX-1,optimized:!1,icon:{path:google.maps.SymbolPath.CIRCLE,scale:20,strokeWeight:3,strokeOpacity:.9,strokeColor:"#FFF",fillOpacity:.3,fillColor:"#FFF"},map:map}),google.maps.event.addListener(hover_circle,"click",function(){add_tenative_info_window(a,tentative_location_marker)}),google.maps.event.addListener(tentative_location_marker,"click",function(){hover_circle.setVisible(!0)})}function add_markers(map){clear_main_markers(),$("#gmb_markers_group_repeat .repeatable-grouping").each(function(index){var marker_icon=gmb_data.plugin_url+"/public/assets/img/default-marker.png",marker_label="",custom_marker_icon=$("#gmb_markers_group_"+index+"_marker").val();custom_marker_icon.length>0&&(marker_icon=eval("("+custom_marker_icon+")"));var custom_label=$("#gmb_markers_group_"+index+"_label").val();custom_label.length>0&&(marker_label=custom_label);var location_marker=new Marker({map:map,zIndex:9,icon:marker_icon,label:marker_label}),marker_lat=$("#gmb_markers_group_"+index+"_lat").val(),marker_lng=$("#gmb_markers_group_"+index+"_lng").val();location_marker.setPosition(new google.maps.LatLng(marker_lat,marker_lng)),location_marker.setVisible(!0),google.maps.event.addListener(location_marker,"click",function(){get_info_window_content(index,location_marker)})})}function get_info_window_saved_data(a){var b=new Object;return b.title=$("#gmb_markers_group_"+a+"_title").val(),b.desc=$("#gmb_markers_group_"+a+"_description").val(),b.reference=$("#gmb_markers_group_"+a+"_reference").val(),b.lat=$("#gmb_markers_group_"+a+"_lat").val(),b.lng=$("#gmb_markers_group_"+a+"_lng").val(),b}function get_info_window_content(a,b){info_bubble.close(),info_bubble.setContent('<div id="infobubble-content" class="loading"></div>'),info_bubble.open(map,b);var c,d=get_info_window_saved_data(a);if(d.reference){var e={reference:d.reference};places_service.getDetails(e,function(e,f){f==google.maps.places.PlacesServiceStatus.OK&&(c='<p class="place-title">'+d.title+"</p>",c+='<div class="place-description">'+d.desc+"</div>",c+=add_place_content_to_info_window(e),c+='<div class="infowindow-toolbar"><ul id="edit-toolbar"><li class="edit-info" data-index="'+a+'" data-tooltip="Edit Marker"></li><li class="trash-marker" data-index="'+a+'" data-tooltip="Delete Marker"></li></ul></div>',add_edit_events(c,b))})}else c='<p class="place-title">'+d.title+"</p>",c+='<div class="place-description">'+d.desc+"</div>",c+='<div class="infowindow-toolbar"><ul id="edit-toolbar"><li class="edit-info" data-index="'+a+'" data-tooltip="Edit Marker"></li><li class="trash-marker" data-index="'+a+'" data-tooltip="Delete Marker"></li></ul></div>',add_edit_events(c,b)}function add_edit_events(a,b){a=set_info_window_wrapper(a),info_bubble.setContent(a),initialize_tooltips(),google.maps.event.addDomListener($(".edit-info")[0],"click",function(){get_editable_info_window($(this).data("index"),b)}),google.maps.event.addDomListener($(".trash-marker")[0],"click",function(){var a=$(this).data("index");0===a&&$('tr[data-iterator="'+a+'"] ').find("input,textarea").val(""),$('tr[data-iterator="'+a+'"] .remove-group-row').trigger("click"),info_bubble.close(),b.setVisible(!1)})}function get_marker_index(){var a=parseInt($("#gmb_markers_group_repeat tr.repeatable-grouping").last().attr("data-iterator")),b=$('tr[data-iterator="0"] ').find("input,textarea").val();return b&&0===a?($(".add-group-row.button").trigger("click"),a=1):0!==a&&($(".add-group-row.button").trigger("click"),a=parseInt($("#gmb_markers_group_repeat tr.repeatable-grouping").last().attr("data-iterator"))),a}function get_place_info_window_content(a,b){info_bubble.setContent('<div id="infobubble-content" class="loading"></div>'),info_bubble.open(map,b);var c={reference:a.reference};places_service.getDetails(c,function(a,b){if(b==google.maps.places.PlacesServiceStatus.OK){var c;c='<p class="place-title">'+a.name+"</p>",c+=add_place_content_to_info_window(a),c=set_info_window_wrapper(c),info_bubble.setContent(c),initialize_tooltips()}})}function get_places_type_array(){var a=[];return $('.cmb_id_gmb_places_search_multicheckbox input[type="checkbox"]').each(function(){$(this).is(":checked")&&a.push($(this).val())}),a}function perform_places_search(){$(".places-loading").fadeIn(),$(".warning-message").hide().empty();var a=get_places_type_array();if(clear_search_markers(),a.length>0){var b={location:return_lat_lng(),types:a,radius:parseInt($("#gmb_search_radius").val())};places_service.nearbySearch(b,places_search_callback)}else show_warning_message("<strong>Notice: No Place Types are selected</strong><br/> Please select the types of places you would like to display on this map using the Place Type field checkboxes found below.")}function show_warning_message(a){$(".wpgp-loading").fadeOut(),$(".warning-message").empty().append("<p>"+a+"</p>").fadeIn()}function return_lat_lng(){var a=map.getCenter(),b=new google.maps.LatLng(a.lat(),a.lng());return b}function handle_map_zoom(a){var b=a.getZoom();$("#gmb_zoom").val(b),$("#gmb_zoom").on("change",function(){a.setZoom(parseInt($(this).val()))})}function lat_lng_field_change(a){var b=new google.maps.LatLng($(lat_field).val(),$(lng_field).val());a.panTo(b)}function places_search_callback(a,b,c){var d,e=0;if(b==google.maps.places.PlacesServiceStatus.OK){for(e=0;d=a[e];e++)create_search_result_marker(a[e]);c.hasNextPage?c.nextPage():$(".places-loading").fadeOut()}}function create_search_result_marker(a){var b=new Marker({map:map,zIndex:0,optimized:!1});b.setIcon({url:a.icon,size:new google.maps.Size(24,24),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17,34),scaledSize:new google.maps.Size(24,24)}),b.setPosition(a.geometry.location),b.setVisible(!0),google.maps.event.addListener(b,"click",function(){get_place_info_window_content(a,b)}),search_markers.push(b)}function clear_main_markers(){for(var a=0;a<location_marker_array.length;a++)location_marker_array[a].setMap(null);for(location_marker_array.length=0,a=0;a<info_bubble_array.length;a++)info_bubble_array[a].close(),google.maps.event.trigger(info_bubble_array[a],"closeclick");info_bubble_array.length=0}function clear_search_markers(){for(var a=0;a<search_markers.length;a++)search_markers[a].setMap(null);search_markers=[]}function geocode_position(a){var b={location:a,radius:10};places_service.nearbySearch(b,function(a,b){if(b==google.maps.places.PlacesServiceStatus.OK){var c="";if(info_bubble.close(),a.length>1){c='<div id="infobubble-content"><p>Hmm, it looks like there are multiple places in this area. Please confirm which place you would like this marker to display:</p>';for(var d=0;d<a.length;d++)c+='<a class="marker-confirm-place" data-reference="'+a[d].reference+'" data-name-address="'+a[d].name+", "+a[d].vicinity+'">'+a[d].name+"</a>";c+="</div>",google.maps.event.addDomListener(info_bubble,"domready",function(){$(".marker-confirm-place").on("click",function(a){a.preventDefault(),$("#gmb_geocoder").val($(this).data("name-address")),$("#gmb_reference").val($(this).data("reference")),info_bubble.close(),get_info_window_content($(this).data("reference"))})})}info_bubble.setContent(c),info_bubble.open(map,location_marker)}})}function scroll_to_field(a){$("html, body").animate({scrollTop:parseInt($(a).offset().top)},600)}function marker_drag_end(a){var b=a.getPosition();geocode_position(b),$(lat_field).val(b.lat()),$(lng_field).val(b.lng()),map.panTo(b)}function calc_radius(a,b){radius_marker=new Marker({position:a.getCenter(),map:a,icon:{path:MAP_PIN,fillColor:"#0E77E9",fillOpacity:0,strokeColor:"",strokeWeight:0,scale:.25},label:'<i class="map-icon-crosshairs radius-label"></i>',zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1}),radius_circle=new google.maps.Circle({map:a,fillColor:"#BBD8E9",fillOpacity:.3,radius:b,strokeColor:"#BBD8E9",strokeOpacity:.9,strokeWeight:2}),radius_circle.bindTo("center",radius_marker,"position")}function toggle_metabox_fields(){var a=$(".cmb_id_gmb_show_places input:radio");a.prop("checked")===!0&&($(".cmb_id_gmb_search_radius").show(),$(".cmb_id_gmb_places_search_multicheckbox").show()),a.prop("checked")===!1&&$("#gmb_show_places2").prop("checked",!0),a.on("change",function(){$(".cmb_id_gmb_search_radius").toggle(),$(".cmb_id_gmb_places_search_multicheckbox").toggle(),"no"===$(this).val()?clear_search_markers():perform_places_search()})}function set_map_size(){var a=$("#gmb_width_height-width").val(),b=$('input[name="gmb_width_height[map_width_unit]"]:checked').val(),c=$("#gmb_width_height-height").val();$("#map").css({width:a+b,height:c})}function set_map_zoom_control(){var a=$("#gmb_zoom_control").val().toUpperCase();map.setOptions("NONE"==a?{zoomControl:!1}:{zoomControl:!0,zoomControlOptions:{style:google.maps.ZoomControlStyle[a]}})}function set_map_type_control(){var a=$("#gmb_map_type_control").val().toUpperCase();map.setOptions("NONE"==a?{mapTypeControl:!1}:{mapTypeControl:!0,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle[a]}})}function set_mouse_wheel_scroll(){var a=$("#gmb_wheel_zoom").val();map.setOptions("none"===a?{scrollwheel:!1}:{scrollwheel:!0})}function set_double_click_zoom(){var a=$("#gmb_double_click").val();map.setOptions("none"===a?{disableDoubleClickZoom:!0}:{disableDoubleClickZoom:!1})}function set_draggable(){var a=$("#gmb_draggable").val();map.setOptions("none"==a?{draggable:!1}:{draggable:!0})}function set_pan_control(){var a=$("#gmb_pan").val();map.setOptions("none"===a?{panControl:!1}:{panControl:!0})}function set_street_view(){var a=$("#gmb_street_view").val();map.setOptions("none"===a?{streetViewControl:!1}:{streetViewControl:!0})}function set_map_type(a){a===!0&&($("#gmb_theme").val("none"),$("#gmb_theme_json").val("none"));var b=$("#gmb_type").val().toUpperCase();map.setOptions({mapTypeId:google.maps.MapTypeId[b],styles:!1})}function set_map_theme(reset){reset===!0&&($("#gmb_type").val("RoadMap"),$("#gmb_theme_json").val("none")),$.getJSON(gmb_data.snazzy,function(data){var map_theme_input_val=parseInt($("#gmb_theme").val());"none"===map_theme_input_val&&set_map_type(),$.each(data,function(index){data[index].id===map_theme_input_val&&(map_theme_input_val=eval(data[index].json),$("#gmb_theme_json").val(data[index].json))}),map.setOptions({mapTypeId:google.maps.MapTypeId.ROADMAP,styles:map_theme_input_val})})}function set_map_marker_icon(){$(".marker-item").on("click",function(){var a=$(this).data("marker");$(".marker-item").removeClass("marker-item-selected"),$(this).addClass("marker-item-selected"),"default"==a?($(".marker-icon-row, .marker-icon-color-wrap, .marker-label-color-wrap").slideUp(),$(".save-marker-icon").slideDown(),$("#TB_window .save-marker-button").attr("data-marker",""),$("#TB_window .save-marker-button").attr("data-label","")):($(".marker-icon-color-wrap, .marker-icon-row").slideDown(),$("#TB_window .save-marker-button").attr("data-marker",a))}),$(".icon").on("click",function(){$(".icon").removeClass("marker-item-selected"),$(this).addClass("marker-item-selected"),$(".save-marker-icon, .marker-label-color-wrap").slideDown(),$("#TB_window .save-marker-button").attr("data-label",$(this).find("span").attr("class"))});var a={change:function(a,b){var c=b.color.toString();$(this).hasClass("marker-color")===!0?($(".save-marker-button").attr("data-marker-color",c),$(".marker-svg polygon, .marker-svg path").attr("fill",c)):$(this).hasClass("label-color")===!0&&($(".save-marker-button").attr("data-label-color",c),$(".icon-inner span").css("color",c))},clear:function(){},hide:!0,palettes:!0};$(".color-picker").wpColorPicker(a)}function initialize_tooltips(){$('[data-tooltip!=""]').qtip({content:{attr:"data-tooltip"},hide:{fixed:!0,delay:100},position:{my:"top center",at:"bottom center"},style:{classes:"qtip-tipsy"},show:{when:{event:"focus"},effect:function(){$(this).fadeIn(200)}}})}$(window).load(function(){toggle_metabox_fields(),initialize_tooltips(),initialize_map($("#map")),$("#gmb_lat_lng-latitude").on("change",function(){lat_lng_field_change(map)}),$("#gmb_lat_lng-longitude").on("change",function(){lat_lng_field_change(map)}),$(".drop-marker").on("click",function(a){if(a.preventDefault(),$(this).hasClass("active"))$(this).text("Drop a Marker").removeClass("active"),map.setOptions({draggableCursor:null});else{$(this).text("Click on the Map").addClass("active"),map.setOptions({draggableCursor:"crosshair"});var b=google.maps.event.addListener(map,"click",function(a){drop_marker(a.latLng,b)})}});var a;$("#gmb_search_radius").on("focus",function(){a=$(this).val(),calc_radius(map,parseInt($(this).val()))}).focusout(function(){a!==$(this).val()&&perform_places_search(),radius_circle.setMap(null),radius_marker.setMap(null)}),$('[name^="gmb_places_search_multicheckbox"]').on("change",function(){0===$(".places-change-message").length&&($(".cmb_id_gmb_places_search_multicheckbox ul").prepend('<div class="wpgp-message places-change-message clear"><p>Place selections have changed.</p><a href="#" class="button update-places-map">Update Map</a></div>'),$(".places-change-message").slideDown())}),$(document).on("click",".update-places-map",function(a){a.preventDefault(),scroll_to_field("#google_maps_preview_metabox"),perform_places_search(),$(this).parent().fadeOut(function(){$(this).remove()})}),$(".lat-lng-update-btn").on("click",function(a){a.preventDefault(),$(".lat-lng-change-message").slideUp(),$("#gmb_lat_lng-latitude").val($(this).attr("data-lat")),$("#gmb_lat_lng-longitude").val($(this).attr("data-lng"))}),$(document).on("click",".add-marker",function(a){a.preventDefault(),hover_circle.setVisible(!1);var b=new google.maps.Marker({position:tentative_location_marker.getPosition(),map:map,icon:gmb_data.plugin_url+"/public/assets/img/default-marker.png",zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1});tentative_location_marker.setVisible(!1);var c=get_marker_index(),d=$(this).data("reference");$("#gmb_markers_group_"+c+"_title").val($(this).data("title")),$("#gmb_markers_group_"+c+"_lat").val($(this).data("lat")),$("#gmb_markers_group_"+c+"_lng").val($(this).data("lng")),$("#gmb_markers_group_"+c+"_reference").val(d),get_editable_info_window(c,b),google.maps.event.addListener(b,"click",function(){get_info_window_content(c,b)})}),set_map_marker_icon(),$("#gmb_type").change(function(){set_map_type(!0)}),$("#gmb_theme").change(function(){set_map_theme(!0)}),$("#gmb_street_view").change(function(){set_street_view()}),$("#gmb_pan").change(function(){set_pan_control()}),$("#gmb_draggable").change(function(){set_draggable()}),$("#gmb_double_click").change(function(){set_double_click_zoom()}),$("#gmb_wheel_zoom").change(function(){set_mouse_wheel_scroll()}),$("#gmb_map_type_control").change(function(){set_map_type_control()}),$("#gmb_zoom_control").change(function(){set_map_zoom_control()}),$("#gmb_width_height-width, #gmb_width_height-height").keyup(function(){delay(function(){set_map_size()},500)}),$('input[name="gmb_width_height[map_width_unit]"]').change(function(){set_map_size()})});var map,places_service,lat_lng,zoom,lat_field,lng_field,radius_circle,radius_marker,place,autocomplete,info_bubble,info_bubble_array=[],tentative_location_marker,location_marker,location_marker_array=[],search_markers=[],hover_circle,initial_location,delay=function(){var a=0;return function(b,c){clearTimeout(a),a=setTimeout(b,c)}}()}(jQuery);
 
admin/assets/js/admin-settings.min.js DELETED
@@ -1 +0,0 @@
1
- !function(a){"use strict";a(function(){a(".hide-welcome").on("click",function(b){b.preventDefault(),a(".welcome-header").slideUp("normal",function(){a(".logo-svg-small").fadeIn()});var c={action:"hide_welcome"};a.post(ajaxurl,c,function(){})});var b=a(".geolocate-radio-wrap input:radio");b.prop("checked")===!0&&a("#lat-lng-wrap").hide(),b.prop("checked")===!1&&a("#lat-lng-wrap").show(),b.on("change",function(){a("#lat-lng-wrap").toggle()}),a("#gmb_has_archive1").prop("checked")===!1&&"false"===a("#gmb_has_archive2").prop("checked")&&a("#gmb_has_archive1").prop("checked",!0),a("input:radio + label").on("click",function(){a(this).prev("input:radio").prop("checked",!0)})})}(jQuery);
 
admin/assets/js/admin-widget.js DELETED
@@ -1,267 +0,0 @@
1
- (function ($) {
2
- "use strict";
3
-
4
- $(function () {
5
-
6
- gmb_widget_toggles();
7
- gmb_widget_tooltips();
8
-
9
- //Initialize Gmap when user clicks an option
10
- place_details_on_click();
11
- place_search_on_click();
12
-
13
-
14
- });
15
-
16
- /*
17
- * Function to Refresh jQuery toggles for wpgp Widget Pro upon saving specific widget
18
- */
19
- $(document).ajaxSuccess(function (e, xhr, settings) {
20
-
21
- gmb_widget_toggles();
22
- gmb_widget_tooltips();
23
- refresh_google_map();
24
- place_details_on_click();
25
- place_search_on_click();
26
-
27
-
28
- });
29
- $(document).ajaxStop(function (e, xhr, settings) {
30
-
31
- });
32
-
33
- /**
34
- * Place Details Radio
35
- *
36
- * This function handles displaying the Google Map and initializing gmaps
37
- */
38
- function place_details_on_click() {
39
- //set up the click event
40
- $('.place-details-api-option-wrap').on('click', function () {
41
- var map_wrap = $(this).parentsUntil('form').find('.google-autocomplete-map-wrap');
42
- var map_canvas = $(map_wrap).find('.map-canvas');
43
-
44
- //slide down the autocomplete map
45
- $(map_wrap).slideDown('normal', function () {
46
- //check if map initialized already by checking for children in canvas
47
- if (map_canvas.children().length == 0) {
48
- //no map so initialize
49
- place_details_autocomplete_initialize(map_canvas);
50
- }
51
-
52
- }); //slide down
53
- }); //click
54
- }
55
-
56
- /**
57
- * Place Search Radio
58
- *
59
- * This function handles displaying the Google Map and initializing gmaps
60
- */
61
- function place_search_on_click() {
62
- $('.place-search-api-option-wrap').on('click', function () {
63
- //Slide up Autocomplete Map
64
- $('.google-autocomplete-map-wrap').slideUp('normal');
65
- });
66
- }
67
-
68
-
69
- /**
70
- * Refresh Gmap
71
- */
72
- function refresh_google_map() {
73
-
74
- //check if Place Details Option enabled and/or map is displayed
75
-
76
- //initialize map
77
- var google_widget = jQuery('.widget-inside:visible').has('.google-autocomplete-map-wrap');
78
-
79
-
80
- // console.log(google_widget);
81
- //
82
- // var map_canvas = google_widget.find('.map-canvas');
83
- // place_details_autocomplete_initialize(map_canvas);
84
-
85
- // $('.google-autocomplete-map-wrap').slideDown('normal', function () {
86
- // var map_canvas = $(this).parentsUntil('form').find('.map-canvas');
87
- // place_details_autocomplete_initialize(map_canvas);
88
- // });
89
-
90
- }
91
-
92
-
93
- /**
94
- * Widget Autocomplete Map
95
- *
96
- * Created the map with autocomplete searching used within the widget admin UI
97
- *
98
- * @see: https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
99
- */
100
- function place_details_autocomplete_initialize(map_canvas) {
101
-
102
- var latitude = '32.713240';
103
- var longitude = '-117.159443';
104
- var referenceField = $(map_canvas[0]).parent().find('.place-detail-reference').val();
105
-
106
- var mapOptions = {
107
- center : new google.maps.LatLng(latitude, longitude),
108
- zoom : 13,
109
- zoomControl : true,
110
- zoomControlOptions: {
111
- style : google.maps.ZoomControlStyle.SMALL,
112
- position: google.maps.ControlPosition.LEFT_BOTTOM
113
- },
114
- mapTypeControl : false,
115
- streetViewControl : false
116
- };
117
-
118
- var map = new google.maps.Map(map_canvas[0], mapOptions);
119
-
120
-
121
- //Check to see if this widget already has been setup
122
- //@see: https://developers.google.com/maps/documentation/javascript/examples/place-details
123
- if (referenceField) {
124
- var service = new google.maps.places.PlacesService(map);
125
- var request = {
126
- reference: referenceField
127
- };
128
-
129
- service.getDetails(request, function (place, status) {
130
- if (status == google.maps.places.PlacesServiceStatus.OK) {
131
-
132
- set_marker_open_infobubble(map, place);
133
-
134
- }
135
- });
136
-
137
- }
138
-
139
- var input = /** @type {HTMLInputElement} */(
140
- $(map_canvas[0]).parent().find('.pac-input')[0]);
141
-
142
- var types = $(map_canvas[0]).parent().find('.type-selector')[0];
143
- map.controls[google.maps.ControlPosition.TOP_CENTER].push(input);
144
- map.controls[google.maps.ControlPosition.TOP_CENTER].push(types);
145
-
146
- var autocomplete = new google.maps.places.Autocomplete(input);
147
- autocomplete.bindTo('bounds', map);
148
-
149
-
150
- //Autocomplete Place Change
151
- google.maps.event.addListener(autocomplete, 'place_changed', function () {
152
-
153
- var place = autocomplete.getPlace();
154
- if (!place.geometry) {
155
- return;
156
- }
157
-
158
- //set reference hidden input value
159
- $(map_canvas[0]).parent().find('.place-detail-reference').val(place.reference);
160
-
161
- // If the place has a geometry, then present it on a map.
162
- set_marker_open_infobubble(map, place);
163
-
164
-
165
- });
166
-
167
- // Sets a listener on a radio button to change the filter type on Places
168
- // Autocomplete.
169
- function setupClickListener(id, types) {
170
- var radioButton = document.getElementById(id);
171
- google.maps.event.addDomListener(radioButton, 'click', function () {
172
- autocomplete.setTypes(types);
173
- });
174
- }
175
-
176
- setupClickListener('changetype-all', []);
177
- setupClickListener('changetype-establishment', ['establishment']);
178
- setupClickListener('changetype-geocode', ['geocode']);
179
-
180
- }
181
-
182
-
183
- function set_marker_open_infobubble(map, place) {
184
-
185
- //Marker for map
186
- var marker = new google.maps.Marker({
187
- map: map
188
- });
189
- marker.setVisible(false);
190
-
191
- //Custom InfoBubble
192
- var infoBubble = new InfoBubble({
193
- maxWidth: 300
194
- });
195
- //Update map with saved place detail
196
- // If the place has a geometry, then present it on a map.
197
- if (place.geometry.viewport) {
198
- map.fitBounds(place.geometry.viewport);
199
- } else {
200
- map.setCenter(place.geometry.location);
201
- map.setZoom(17); // Why 17? Because it looks good.
202
- }
203
- //setup marker icon
204
- marker.setIcon(/** @type {google.maps.Icon} */({
205
- url : place.icon,
206
- size : new google.maps.Size(71, 71),
207
- origin : new google.maps.Point(0, 0),
208
- anchor : new google.maps.Point(17, 34),
209
- scaledSize: new google.maps.Size(35, 35)
210
- }));
211
- marker.setPosition(place.geometry.location);
212
- marker.setVisible(true);
213
-
214
- var address = '';
215
- if (place.address_components) {
216
- address = [
217
- (place.address_components[0] && place.address_components[0].short_name || ''),
218
- (place.address_components[1] && place.address_components[1].short_name || ''),
219
- (place.address_components[2] && place.address_components[2].short_name || '')
220
- ].join(' ');
221
- }
222
-
223
- infoBubble.setContent('<div><strong>' + place.name + '</strong><br>' + address);
224
- infoBubble.open(map, marker);
225
-
226
- }
227
-
228
-
229
- /**
230
- * Toggles Widget Panels
231
- */
232
- function gmb_widget_toggles() {
233
-
234
- //API Method Toggle
235
- $('#widgets-right .widget-api-option .wpgp-method-span:not("clickable")').each(function () {
236
-
237
- $(this).addClass("clickable").unbind("click").click(function () {
238
- $(this).parent().parent().find('.toggled').slideUp().removeClass('toggled');
239
- $(this).find('input').attr('checked', 'checked');
240
- if ($(this).hasClass('search-api-option-wrap')) {
241
- $(this).parent().next('.toggle-api-option-1').slideToggle().toggleClass('toggled');
242
- } else {
243
- $(this).parent().next().next('.toggle-api-option-2').slideToggle().toggleClass('toggled');
244
- }
245
- });
246
- });
247
-
248
-
249
- }
250
-
251
-
252
- /**
253
- * Tooltips
254
- */
255
- function gmb_widget_tooltips() {
256
- //Tooltips for admins
257
- $('.tooltip-info').tipsy({
258
- fade : true,
259
- html : true,
260
- gravity : 's',
261
- delayOut: 1000,
262
- delayIn : 500
263
- });
264
- }
265
-
266
-
267
- }(jQuery));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/admin-widget.min.js DELETED
@@ -1 +0,0 @@
1
- !function(a){"use strict";function b(){a(".place-details-api-option-wrap").on("click",function(){var b=a(this).parentsUntil("form").find(".google-autocomplete-map-wrap"),c=a(b).find(".map-canvas");a(b).slideDown("normal",function(){0==c.children().length&&e(c)})})}function c(){a(".place-search-api-option-wrap").on("click",function(){a(".google-autocomplete-map-wrap").slideUp("normal")})}function d(){jQuery(".widget-inside:visible").has(".google-autocomplete-map-wrap")}function e(b){function c(a,b){var c=document.getElementById(a);google.maps.event.addDomListener(c,"click",function(){n.setTypes(b)})}var d="32.713240",e="-117.159443",g=a(b[0]).parent().find(".place-detail-reference").val(),h={center:new google.maps.LatLng(d,e),zoom:13,zoomControl:!0,zoomControlOptions:{style:google.maps.ZoomControlStyle.SMALL,position:google.maps.ControlPosition.LEFT_BOTTOM},mapTypeControl:!1,streetViewControl:!1},i=new google.maps.Map(b[0],h);if(g){var j=new google.maps.places.PlacesService(i),k={reference:g};j.getDetails(k,function(a,b){b==google.maps.places.PlacesServiceStatus.OK&&f(i,a)})}var l=a(b[0]).parent().find(".pac-input")[0],m=a(b[0]).parent().find(".type-selector")[0];i.controls[google.maps.ControlPosition.TOP_CENTER].push(l),i.controls[google.maps.ControlPosition.TOP_CENTER].push(m);var n=new google.maps.places.Autocomplete(l);n.bindTo("bounds",i),google.maps.event.addListener(n,"place_changed",function(){var c=n.getPlace();c.geometry&&(a(b[0]).parent().find(".place-detail-reference").val(c.reference),f(i,c))}),c("changetype-all",[]),c("changetype-establishment",["establishment"]),c("changetype-geocode",["geocode"])}function f(a,b){var c=new google.maps.Marker({map:a});c.setVisible(!1);var d=new InfoBubble({maxWidth:300});b.geometry.viewport?a.fitBounds(b.geometry.viewport):(a.setCenter(b.geometry.location),a.setZoom(17)),c.setIcon({url:b.icon,size:new google.maps.Size(71,71),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17,34),scaledSize:new google.maps.Size(35,35)}),c.setPosition(b.geometry.location),c.setVisible(!0);var e="";b.address_components&&(e=[b.address_components[0]&&b.address_components[0].short_name||"",b.address_components[1]&&b.address_components[1].short_name||"",b.address_components[2]&&b.address_components[2].short_name||""].join(" ")),d.setContent("<div><strong>"+b.name+"</strong><br>"+e),d.open(a,c)}function g(){a('#widgets-right .widget-api-option .wpgp-method-span:not("clickable")').each(function(){a(this).addClass("clickable").unbind("click").click(function(){a(this).parent().parent().find(".toggled").slideUp().removeClass("toggled"),a(this).find("input").attr("checked","checked"),a(this).hasClass("search-api-option-wrap")?a(this).parent().next(".toggle-api-option-1").slideToggle().toggleClass("toggled"):a(this).parent().next().next(".toggle-api-option-2").slideToggle().toggleClass("toggled")})})}function h(){a(".tooltip-info").tipsy({fade:!0,html:!0,gravity:"s",delayOut:1e3,delayIn:500})}a(function(){g(),h(),b(),c()}),a(document).ajaxSuccess(function(){g(),h(),d(),b(),c()}),a(document).ajaxStop(function(){})}(jQuery);
 
admin/assets/js/index.php DELETED
@@ -1 +0,0 @@
1
- <?php // Silence is golden
 
admin/class-wordpress-google-maps-admin.php DELETED
@@ -1,785 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Google Maps Admin
5
- *
6
- * The admin is considered the single post view where you build maps
7
- *
8
- * @package Google_Maps_Builder_Admin
9
- * @author Devin Walker <devin@wordimpress.com>
10
- * @license GPL-2.0+
11
- * @link http://wordimpress.com
12
- * @copyright 2014 WordImpress, Devin Walker
13
- */
14
- class Google_Maps_Builder_Admin {
15
-
16
- /**
17
- * Instance of this class.
18
- *
19
- * @since 1.0.0
20
- *
21
- * @var object
22
- */
23
- protected static $instance = null;
24
-
25
-
26
- /**
27
- * Array of metaboxes/fields
28
- *
29
- * @since 1.0.0
30
- *
31
- * @var array
32
- */
33
- protected static $plugin_options = array();
34
-
35
- /**
36
- * Array of metaboxes/fields
37
- *
38
- * @since 1.0.0
39
- *
40
- * @var array
41
- */
42
- protected static $default_map_options;
43
-
44
-
45
- /**
46
- * Initialize the plugin by loading admin scripts & styles and adding a
47
- * settings page and menu.
48
- *
49
- * @since 1.0.0
50
- */
51
- private function __construct() {
52
-
53
- /*
54
- * Call $plugin_slug from public plugin class.
55
- */
56
- $plugin = Google_Maps_Builder::get_instance();
57
- $this->plugin_slug = $plugin->get_plugin_slug();
58
-
59
- // Load admin style sheet and JavaScript.
60
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
61
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
62
-
63
- //Add metaboxes and fields to CPT
64
- add_filter( 'cmb_meta_boxes', array( $this, 'cpt_metaboxes_fields' ), 1 );
65
-
66
- //Custom Meta Fields
67
- add_action( 'cmb_render_google_geocoder', array( $this, 'cmb_render_google_geocoder' ), 10, 2 );
68
- add_action( 'cmb_render_google_maps_preview', array( $this, 'cmb_render_google_maps_preview' ), 10, 2 );
69
- add_action( 'cmb_render_search_options', array( $this, 'cmb_render_search_options' ), 10, 2 );
70
- add_action( 'cmb_render_width_height', array( $this, 'cmb_render_width_height' ), 10, 2 );
71
- add_action( 'cmb_render_lat_lng', array( $this, 'cmb_render_lat_lng' ), 10, 2 );
72
- add_action( 'post_submitbox_misc_actions', array( $this, 'gmb_add_shortcode_to_publish_metabox' ) );
73
-
74
-
75
- }
76
-
77
- /**
78
- *
79
- * Add Shortcode to Publish Metabox
80
- *
81
- */
82
- public function gmb_add_shortcode_to_publish_metabox() {
83
-
84
- if ('google_maps' !== get_post_type())
85
- return false;
86
-
87
- global $post;
88
-
89
- //Only enqueue scripts for CPT on post type screen
90
- if ( 'google_maps' === $post->post_type ) {
91
- //Shortcode column with select all input
92
- $shortcode = htmlentities( '[google_maps id="' . $post->ID . '"]' );
93
- echo '<div class="shortcode-wrap box-sizing"><label>' . __( 'Map Shortcode:', $this->plugin_slug ) . '</label><input onClick="this.setSelectionRange(0, this.value.length)" type="text" class="shortcode-input" readonly value="' . $shortcode . '"></div>';
94
-
95
- }
96
-
97
- }
98
-
99
- /**
100
- * Get Default Map Options
101
- *
102
- * Helper function that returns default map options from settings
103
- * @return array
104
- */
105
- public function get_default_map_options() {
106
-
107
- $width_height = gmb_get_option( 'gmb_width_height' );
108
-
109
- $defaults = array(
110
- 'width' => ( isset( $width_height['width'] ) ) ? $width_height['width'] : '100',
111
- 'width_unit' => ( isset( $width_height['map_width_unit'] ) ) ? $width_height['map_width_unit'] : '%',
112
- 'height' => ( isset( $width_height['height'] ) ) ? $width_height['height'] : '600'
113
- );
114
-
115
- return $defaults;
116
-
117
- }
118
-
119
- /**
120
- * Return an instance of this class.
121
- *
122
- * @since 1.0.0
123
- *
124
- * @return object A single instance of this class.
125
- */
126
- public static function get_instance() {
127
-
128
- // If the single instance hasn't been set, set it now.
129
- if ( null == self::$instance ) {
130
- self::$instance = new self;
131
- }
132
-
133
- return self::$instance;
134
- }
135
-
136
-
137
- /**
138
- * Register and enqueue admin-specific style sheet.
139
- *
140
- * Return early if no settings page is registered.
141
- * @since 1.0.0
142
- *
143
- * @return null
144
- */
145
- public function enqueue_admin_styles( $hook ) {
146
-
147
- global $post;
148
- $suffix = defined( 'GMB_DEBUG' ) && GMB_DEBUG ? '' : '.min';
149
-
150
- //Only enqueue scripts for CPT on post type screen
151
- if ( $hook == 'post-new.php' || $hook == 'post.php' && 'google_maps' === $post->post_type ) {
152
-
153
- wp_enqueue_style( $this->plugin_slug . '-admin-styles', plugins_url( 'assets/css/admin' . $suffix . '.css', __FILE__ ), array(), Google_Maps_Builder::VERSION );
154
- wp_enqueue_style( $this->plugin_slug . '-map-icons', plugins_url( 'includes/map-icons/css/map-icons.css', dirname( __FILE__ ) ), array(), Google_Maps_Builder::VERSION );
155
- wp_enqueue_style( $this->plugin_slug . '-map-tooltips', plugins_url( 'includes/tooltips/jquery.qtip' . $suffix . '.css', __FILE__ ), array(), Google_Maps_Builder::VERSION );
156
-
157
- }
158
-
159
- }
160
-
161
- /**
162
- * Register and enqueue admin-specific JavaScript.
163
- *
164
- * @since 1.0.0
165
- *
166
- * @return null Return early if no settings page is registered.
167
- */
168
- public function enqueue_admin_scripts( $hook ) {
169
- global $post;
170
- $suffix = defined( 'GMB_DEBUG' ) && GMB_DEBUG ? '' : '.min';
171
-
172
- //Only enqueue scripts for CPT on post type screen
173
- if ( $hook == 'post-new.php' || $hook == 'post.php' && 'google_maps' === $post->post_type ) {
174
-
175
- wp_enqueue_script( $this->plugin_slug . '-admin-gmaps', 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places', array( 'jquery' ) );
176
- wp_enqueue_script( $this->plugin_slug . '-map-icons', plugins_url( 'includes/map-icons/js/map-icons.js', dirname( __FILE__ ) ), array( 'jquery' ) );
177
- wp_enqueue_script( $this->plugin_slug . '-admin-map-builder', plugins_url( 'assets/js/admin-google-map' . $suffix . '.js', __FILE__ ), array( 'jquery' ), Google_Maps_Builder::VERSION );
178
- wp_enqueue_script( $this->plugin_slug . '-admin-qtip', plugins_url( 'includes/tooltips/jquery.qtip' . $suffix . '.js', __FILE__ ), array( 'jquery' ), Google_Maps_Builder::VERSION, true );
179
-
180
- $api_key = gmb_get_option( 'gmb_api_key' );
181
- $geolocate = gmb_get_option( 'gmb_lat_lng' );
182
-
183
- $maps_data = array(
184
- 'api_key' => $api_key,
185
- 'geolocate_setting' => isset( $geolocate['geolocate_map'] ) ? $geolocate['geolocate_map'] : 'yes',
186
- 'default_lat' => isset( $geolocate['latitude'] ) ? $geolocate['latitude'] : '32.715738',
187
- 'default_lng' => isset( $geolocate['longitude'] ) ? $geolocate['longitude'] : '-117.16108380000003',
188
- 'plugin_url' => GMB_PLUGIN_URL,
189
- 'snazzy' => GMB_PLUGIN_URL . '/admin/assets/js/snazzy.json'
190
- );
191
- wp_localize_script( $this->plugin_slug . '-admin-map-builder', 'gmb_data', $maps_data );
192
-
193
- }
194
-
195
- wp_enqueue_style( 'dashicons' );
196
-
197
-
198
- }
199
-
200
-
201
- /**
202
- * Register our setting to WP
203
- * @since 1.0.0
204
- */
205
- public function settings_init() {
206
- register_setting( $this->plugin_slug, $this->plugin_slug );
207
- }
208
-
209
-
210
- /**
211
- * Defines the Google Places CPT metabox and field configuration
212
- * @since 1.0.0
213
- * @return array
214
- */
215
-
216
- public function cpt_metaboxes_fields( array $meta_boxes ) {
217
-
218
- $prefix = 'gmb_'; // Prefix for all fields
219
-
220
- $default_options = $this->get_default_map_options();
221
-
222
- $meta_boxes['google_maps_metabox'] = array(
223
- 'id' => 'google_maps_metabox',
224
- 'title' => __( 'Google Map Markers', $this->plugin_slug ),
225
- 'pages' => array( 'google_maps' ), // post type
226
- 'context' => 'normal', // 'normal', 'advanced', or 'side'
227
- 'priority' => 'high', // 'high', 'core', 'default' or 'low'
228
- 'show_names' => true, // Show field names on the left
229
- 'fields' => array(
230
- array(
231
- 'name' => __( 'Create Marker', $this->plugin_slug ),
232
- 'id' => $prefix . 'geocoder',
233
- 'type' => 'google_geocoder',
234
- 'std' => 'San Diego, CA, United States',
235
- 'desc' => '',
236
- ),
237
- ),
238
- );
239
- $meta_boxes['google_maps_preview_metabox'] = array(
240
- 'id' => 'google_maps_preview_metabox',
241
- 'title' => __( 'Google Map Preview', $this->plugin_slug ),
242
- 'pages' => array( 'google_maps' ), // post type
243
- 'context' => 'normal', // 'normal', 'advanced', or 'side'
244
- 'priority' => 'core', // 'high', 'core', 'default' or 'low'
245
- 'show_names' => false, // Show field names on the left
246
- 'fields' => array(
247
- array(
248
- 'name' => 'Map Preview',
249
- 'id' => $prefix . 'preview',
250
- 'type' => 'google_maps_preview',
251
- 'std' => '',
252
- ),
253
-
254
- ),
255
- );
256
- $meta_boxes['google_maps_markers'] = array(
257
- 'id' => 'google_maps_markers',
258
- 'title' => __( 'Google Map Markers', $this->plugin_slug ),
259
- 'pages' => array( 'google_maps' ), // post type
260
- 'context' => 'normal', // 'normal', 'advanced', or 'side'
261
- 'priority' => 'low', // 'high', 'core', 'default' or 'low'
262
- 'show_names' => true, // Show field names on the left
263
- 'fields' => array(
264
- array(
265
- 'id' => $prefix . 'markers_group',
266
- 'type' => 'group',
267
- 'description' => __( 'Map marker data is contained within the repeatable fields below. You may add or update marker data here in bulk.', $this->plugin_slug ),
268
- 'options' => array(
269
- 'add_button' => __( 'Add Another Marker', $this->plugin_slug ),
270
- 'remove_button' => __( 'Remove Marker', $this->plugin_slug ),
271
- 'sortable' => true, // beta
272
- ),
273
- // Fields array works the same, except id's only need to be unique for this group. Prefix is not needed.
274
- 'fields' => array(
275
- array(
276
- 'name' => 'Marker Title',
277
- 'id' => 'title',
278
- 'type' => 'text',
279
- ),
280
- array(
281
- 'name' => 'Marker Description',
282
- 'description' => 'Write a short description for this marker',
283
- 'id' => 'description',
284
- 'type' => 'textarea_small',
285
- ),
286
- array(
287
- 'name' => 'Marker Reference',
288
- 'id' => 'reference',
289
- 'type' => 'text',
290
- ),
291
- array(
292
- 'name' => 'Hide Place Details',
293
- 'id' => 'hide_details',
294
- 'type' => 'checkbox',
295
- ),
296
- array(
297
- 'name' => 'Marker Latitude',
298
- 'id' => 'lat',
299
- 'type' => 'text',
300
- ),
301
- array(
302
- 'name' => 'Marker Longitude',
303
- 'id' => 'lng',
304
- 'type' => 'text',
305
- ),
306
- array(
307
- 'name' => 'Marker Data',
308
- 'id' => 'marker',
309
- 'type' => 'textarea_code',
310
- ),
311
- array(
312
- 'name' => 'Marker Label Data',
313
- 'id' => 'label',
314
- 'type' => 'textarea_code',
315
- ),
316
- ),
317
- ),
318
- ),
319
- );
320
-
321
-
322
- $meta_boxes['google_maps_search_options'] = array(
323
- 'id' => 'google_maps_search_options',
324
- 'title' => __( 'Google Places', $this->plugin_slug ),
325
- 'pages' => array( 'google_maps' ), // post type
326
- 'context' => 'normal', // 'normal', 'advanced', or 'side'
327
- 'priority' => 'core', // 'high', 'core', 'default' or 'low'
328
- 'show_names' => true, // Show field names on the left
329
- 'fields' => array(
330
- array(
331
- 'name' => __( 'Show Places?', $this->plugin_slug ),
332
- 'desc' => __( 'Display establishments, prominent points of interest, geographic locations, and more.', $this->plugin_slug ),
333
- 'id' => $prefix . 'show_places',
334
- 'type' => 'radio_inline',
335
- 'options' => array(
336
- 'yes' => __( 'Yes', 'cmb' ),
337
- 'no' => __( 'No', 'cmb' ),
338
- ),
339
- ),
340
- array(
341
- 'name' => __( 'Search Radius', $this->plugin_slug ),
342
- 'desc' => __( 'Defines the distance (in meters) within which to return Place results. The maximum allowed radius is 50,000 meters.', $this->plugin_slug ),
343
- 'std' => '1000',
344
- 'id' => $prefix . 'search_radius',
345
- 'type' => 'text_small'
346
- ),
347
- array(
348
- 'name' => __( 'Place Types', $this->plugin_slug ),
349
- 'desc' => __( 'Select which type of places you would like to display on this map.', $this->plugin_slug ),
350
- 'id' => $prefix . 'places_search_multicheckbox',
351
- 'type' => 'multicheck',
352
- 'options' => array(
353
- 'accounting' => __( 'Accounting', $this->plugin_slug ),
354
- 'airport' => __( 'Airport', $this->plugin_slug ),
355
- 'amusement_park' => __( 'Amusement Park', $this->plugin_slug ),
356
- 'aquarium' => __( 'Aquarium', $this->plugin_slug ),
357
- 'art_gallery' => __( 'Art Gallery', $this->plugin_slug ),
358
- 'atm' => __( 'ATM', $this->plugin_slug ),
359
- 'bakery' => __( 'Bakery', $this->plugin_slug ),
360
- 'bank' => __( 'Bank', $this->plugin_slug ),
361
- 'bar' => __( 'Bar', $this->plugin_slug ),
362
- 'beauty_salon' => __( 'Beauty Salon', $this->plugin_slug ),
363
- 'bicycle_store' => __( 'Bicycle Store', $this->plugin_slug ),
364
- 'book_store' => __( 'Book Store', $this->plugin_slug ),
365
- 'bowling_alley' => __( 'Bowling Alley', $this->plugin_slug ),
366
- 'bus_station' => __( 'Bus Station', $this->plugin_slug ),
367
- 'cafe' => __( 'Cafe', $this->plugin_slug ),
368
- 'campground' => __( 'Campground', $this->plugin_slug ),
369
- 'car_dealer' => __( 'Car Dealer', $this->plugin_slug ),
370
- 'car_rental' => __( 'Car Rental', $this->plugin_slug ),
371
- 'car_repair' => __( 'Car Repair', $this->plugin_slug ),
372
- 'car_wash' => __( 'Car Wash', $this->plugin_slug ),
373
- 'casino' => __( 'Casino', $this->plugin_slug ),
374
- 'cemetery' => __( 'Cemetery', $this->plugin_slug ),
375
- 'church' => __( 'Church', $this->plugin_slug ),
376
- 'city_hall' => __( 'City Hall', $this->plugin_slug ),
377
- 'clothing_store' => __( 'Clothing Store', $this->plugin_slug ),
378
- 'convenience_store' => __( 'Convenience Store', $this->plugin_slug ),
379
- 'courthouse' => __( 'Courthouse', $this->plugin_slug ),
380
- 'dentist' => __( 'Dentist', $this->plugin_slug ),
381
- 'department_store' => __( 'Department Store', $this->plugin_slug ),
382
- 'doctor' => __( 'Doctor', $this->plugin_slug ),
383
- 'electrician' => __( 'Electrician', $this->plugin_slug ),
384
- 'electronics_store' => __( 'Electronics Store', $this->plugin_slug ),
385
- 'embassy' => __( 'Embassy', $this->plugin_slug ),
386
- 'establishment' => __( 'Establishment', $this->plugin_slug ),
387
- 'finance' => __( 'Finance', $this->plugin_slug ),
388
- 'fire_station' => __( 'Fire Station', $this->plugin_slug ),
389
- 'florist' => __( 'Florist', $this->plugin_slug ),
390
- 'food' => __( 'Food', $this->plugin_slug ),
391
- 'funeral_home' => __( 'Funeral Home', $this->plugin_slug ),
392
- 'furniture_store' => __( 'Furniture_store', $this->plugin_slug ),
393
- 'gas_station' => __( 'Gas Station', $this->plugin_slug ),
394
- 'general_contractor' => __( 'General Contractor', $this->plugin_slug ),
395
- 'grocery_or_supermarket' => __( 'Grocery or Supermarket', $this->plugin_slug ),
396
- 'gym' => __( 'Gym', $this->plugin_slug ),
397
- 'hair_care' => __( 'Hair Care', $this->plugin_slug ),
398
- 'hardware_store' => __( 'Hardware Store', $this->plugin_slug ),
399
- 'health' => __( 'Health', $this->plugin_slug ),
400
- 'hindu_temple' => __( 'Hindu Temple', $this->plugin_slug ),
401
- 'home_goods_store' => __( 'Home Goods Store', $this->plugin_slug ),
402
- 'hospital' => __( 'Hospital', $this->plugin_slug ),
403
- 'insurance_agency' => __( 'Insurance Agency', $this->plugin_slug ),
404
- 'jewelry_store' => __( 'Jewelry Store', $this->plugin_slug ),
405
- 'laundry' => __( 'Laundry', $this->plugin_slug ),
406
- 'lawyer' => __( 'Lawyer', $this->plugin_slug ),
407
- 'library' => __( 'Library', $this->plugin_slug ),
408
- 'liquor_store' => __( 'Liquor Store', $this->plugin_slug ),
409
- 'local_government_office' => __( 'Local Government Office', $this->plugin_slug ),
410
- 'locksmith' => __( 'Locksmith', $this->plugin_slug ),
411
- 'lodging' => __( 'Lodging', $this->plugin_slug ),
412
- 'meal_delivery' => __( 'Meal Delivery', $this->plugin_slug ),
413
- 'meal_takeaway' => __( 'Meal Takeaway', $this->plugin_slug ),
414
- 'mosque' => __( 'Mosque', $this->plugin_slug ),
415
- 'movie_rental' => __( 'Movie Rental', $this->plugin_slug ),
416
- 'movie_theater' => __( 'Movie Theater', $this->plugin_slug ),
417
- 'moving_company' => __( 'Moving Company', $this->plugin_slug ),
418
- 'museum' => __( 'Museum', $this->plugin_slug ),
419
- 'night_club' => __( 'Night Club', $this->plugin_slug ),
420
- 'painter' => __( 'Painter', $this->plugin_slug ),
421
- 'park' => __( 'Park', $this->plugin_slug ),
422
- 'parking' => __( 'Parking', $this->plugin_slug ),
423
- 'pet_store' => __( 'Pet Store', $this->plugin_slug ),
424
- 'pharmacy' => __( 'Pharmacy', $this->plugin_slug ),
425
- 'physiotherapist' => __( 'Physiotherapist', $this->plugin_slug ),
426
- 'place_of_worship' => __( 'Place of Worship', $this->plugin_slug ),
427
- 'plumber' => __( 'Plumber', $this->plugin_slug ),
428
- 'police' => __( 'Police', $this->plugin_slug ),
429
- 'post_office' => __( 'Post Office', $this->plugin_slug ),
430
- 'real_estate_agency' => __( 'Real Estate Agency', $this->plugin_slug ),
431
- 'restaurant' => __( 'Restaurant', $this->plugin_slug ),
432
- 'roofing_contractor' => __( 'Roofing Contractor', $this->plugin_slug ),
433
- 'rv_park' => __( 'RV Park', $this->plugin_slug ),
434
- 'school' => __( 'School', $this->plugin_slug ),
435
- 'shoe_store' => __( 'Shoe Store', $this->plugin_slug ),
436
- 'shopping_mall' => __( 'Shopping Mall', $this->plugin_slug ),
437
- 'spa' => __( 'Spa', $this->plugin_slug ),
438
- 'stadium' => __( 'Stadium', $this->plugin_slug ),
439
- 'storage' => __( 'Storage', $this->plugin_slug ),
440
- 'store' => __( 'Store', $this->plugin_slug ),
441
- 'subway_station' => __( 'Subway Station', $this->plugin_slug ),
442
- 'synagogue' => __( 'Synagogue', $this->plugin_slug ),
443
- 'taxi_stand' => __( 'Taxi Stand', $this->plugin_slug ),
444
- 'train_station' => __( 'Train Station', $this->plugin_slug ),
445
- 'travel_agency' => __( 'Travel Agency', $this->plugin_slug ),
446
- 'university' => __( 'University', $this->plugin_slug ),
447
- 'veterinary_care' => __( 'Veterinary Care', $this->plugin_slug ),
448
- 'zoo' => __( 'Zoo', $this->plugin_slug )
449
- ),
450
- ),
451
- ),
452
- );
453
-
454
- $meta_boxes['google_maps_options'] = array(
455
- 'id' => 'google_maps_options',
456
- 'title' => __( 'Google Map Display Options', $this->plugin_slug ),
457
- 'pages' => array( 'google_maps' ), // post type
458
- 'context' => 'side', // 'normal', 'advanced', or 'side'
459
- 'priority' => 'default', // 'high', 'core', 'default' or 'low'
460
- 'show_names' => true, // Show field names on the left
461
- 'fields' => array(
462
- array(
463
- 'name' => __( 'Map Size', $this->plugin_slug ),
464
- 'id' => $prefix . 'width_height',
465
- 'type' => 'width_height',
466
- 'width_std' => $default_options['width'],
467
- 'width_unit_std' => $default_options['width_unit'],
468
- 'height_std' => $default_options['height'],
469
- 'desc' => '',
470
- ),
471
- array(
472
- 'name' => __( 'Map Location', $this->plugin_slug ),
473
- 'id' => $prefix . 'lat_lng',
474
- 'type' => 'lat_lng',
475
- 'lat_std' => '',
476
- 'lng_std' => '',
477
- 'desc' => '',
478
- ),
479
-
480
- array(
481
- 'name' => 'Map Type',
482
- 'id' => $prefix . 'type',
483
- 'type' => 'select',
484
- 'std' => 'default',
485
- 'options' => array(
486
- array( 'name' => __( 'Road Map', $this->plugin_slug ), 'value' => 'RoadMap' ),
487
- array( 'name' => __( 'Satellite', $this->plugin_slug ), 'value' => 'Satellite' ),
488
- array( 'name' => __( 'Hybrid', $this->plugin_slug ), 'value' => 'Hybrid' ),
489
- array( 'name' => __( 'Terrain', $this->plugin_slug ), 'value' => 'Terrain' ),
490
- ),
491
- ),
492
- array(
493
- 'name' => 'Map Theme',
494
- 'desc' => sprintf( __( 'Set optional preconfigured styles. <a href="%s" class="snazzy-link new-window" target="_blank">Snazzy Maps</a>', $this->plugin_slug ), esc_url( 'http://snazzymaps.com' ) ),
495
- 'id' => $prefix . 'theme',
496
- 'type' => 'select',
497
- 'std' => 'none',
498
- 'options' => array(
499
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
500
- array( 'name' => __( 'Aqua', $this->plugin_slug ), 'value' => '68' ),
501
- array( 'name' => __( 'A Dark World', $this->plugin_slug ), 'value' => '73' ),
502
- array( 'name' => __( 'Bluish', $this->plugin_slug ), 'value' => '28' ),
503
- array( 'name' => __( 'Cool Grey', $this->plugin_slug ), 'value' => '80' ),
504
- array( 'name' => __( 'Clean Cut', $this->plugin_slug ), 'value' => '77' ),
505
- array( 'name' => __( 'Flat Green', $this->plugin_slug ), 'value' => '36' ),
506
- array( 'name' => __( 'MapBox', $this->plugin_slug ), 'value' => '44' ),
507
- array( 'name' => __( 'Muted Blue', $this->plugin_slug ), 'value' => '83' ),
508
- array( 'name' => __( 'Old Timey', $this->plugin_slug ), 'value' => '22' ),
509
- array( 'name' => __( 'Pale Dawn', $this->plugin_slug ), 'value' => '1' ),
510
- array( 'name' => __( 'Paper', $this->plugin_slug ), 'value' => '19' ),
511
- array( 'name' => __( 'Lunar Landscape', $this->plugin_slug ), 'value' => '37' ),
512
- array( 'name' => __( 'Shade of Green', $this->plugin_slug ), 'value' => '75' ),
513
- array( 'name' => __( 'Shift Worker', $this->plugin_slug ), 'value' => '27' ),
514
- array( 'name' => __( 'Subtle Grayscale', $this->plugin_slug ), 'value' => '15' ),
515
- array( 'name' => __( 'The Endless Atlas', $this->plugin_slug ), 'value' => '50' ),
516
- ),
517
- ),
518
- array(
519
- 'name' => 'Map Theme JSON',
520
- 'desc' => 'Contains the map theme JSON',
521
- 'default' => 'none',
522
- 'id' => $prefix . 'theme_json',
523
- 'type' => 'textarea_code'
524
- ),
525
- array(
526
- 'name' => 'Zoom',
527
- 'desc' => __( 'Adjust the map zoom (0-21)', $this->plugin_slug ),
528
- 'id' => $prefix . 'zoom',
529
- 'type' => 'select',
530
- 'std' => '15',
531
- 'options' => array(
532
- array( 'name' => '21', 'value' => '21' ),
533
- array( 'name' => '20', 'value' => '20' ),
534
- array( 'name' => '19', 'value' => '19' ),
535
- array( 'name' => '18', 'value' => '18' ),
536
- array( 'name' => '17', 'value' => '17' ),
537
- array( 'name' => '16', 'value' => '16' ),
538
- array( 'name' => '15', 'value' => '15' ),
539
- array( 'name' => '14', 'value' => '14' ),
540
- array( 'name' => '13', 'value' => '13' ),
541
- array( 'name' => '12', 'value' => '12' ),
542
- array( 'name' => '11', 'value' => '11' ),
543
- array( 'name' => '10', 'value' => '10' ),
544
- array( 'name' => '9', 'value' => '9' ),
545
- array( 'name' => '8', 'value' => '8' ),
546
- array( 'name' => '7', 'value' => '7' ),
547
- array( 'name' => '6', 'value' => '6' ),
548
- array( 'name' => '5', 'value' => '5' ),
549
- array( 'name' => '4', 'value' => '4' ),
550
- array( 'name' => '3', 'value' => '3' ),
551
- array( 'name' => '2', 'value' => '2' ),
552
- array( 'name' => '1', 'value' => '1' ),
553
- array( 'name' => '0', 'value' => '0' ),
554
-
555
- )
556
- ),
557
- array(
558
- 'name' => 'Custom Map Marker Icon',
559
- 'desc' => 'Use a custom map marker for the map.',
560
- 'id' => $prefix . 'map_marker',
561
- 'type' => 'file',
562
- 'allow' => array( 'url', 'attachment' ),
563
- ),
564
- ),
565
- );
566
-
567
- $meta_boxes['google_maps_control_options'] = array(
568
- 'id' => 'google_maps_control_options',
569
- 'title' => __( 'Google Map Control Options', $this->plugin_slug ),
570
- 'pages' => array( 'google_maps' ), // post type
571
- 'context' => 'side', // 'normal', 'advanced', or 'side'
572
- 'priority' => 'default', // 'high', 'core', 'default' or 'low'
573
- 'show_names' => true, // Show field names on the left
574
- 'fields' => array(
575
- array(
576
- 'name' => 'Zoom Control',
577
- 'id' => $prefix . 'zoom_control',
578
- 'type' => 'select',
579
- 'std' => 'default',
580
- 'options' => array(
581
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
582
- array( 'name' => __( 'Small', $this->plugin_slug ), 'value' => 'small' ),
583
- array( 'name' => __( 'Large', $this->plugin_slug ), 'value' => 'large' ),
584
- array( 'name' => __( 'Default', $this->plugin_slug ), 'value' => 'default' ),
585
- ),
586
- ),
587
- array(
588
- 'name' => 'Street View',
589
- 'id' => $prefix . 'street_view',
590
- 'type' => 'select',
591
- 'std' => 'true',
592
- 'options' => array(
593
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
594
- array( 'name' => __( 'Standard', $this->plugin_slug ), 'value' => 'true' ),
595
- ),
596
- ),
597
- array(
598
- 'name' => 'Pan Control',
599
- 'id' => $prefix . 'pan',
600
- 'type' => 'select',
601
- 'std' => 'true',
602
- 'options' => array(
603
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
604
- array( 'name' => __( 'Standard', $this->plugin_slug ), 'value' => 'true' ),
605
- ),
606
- ),
607
- array(
608
- 'name' => 'Map Type Control',
609
- 'id' => $prefix . 'map_type_control',
610
- 'type' => 'select',
611
- 'std' => 'horizontal_bar',
612
- 'options' => array(
613
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
614
- array( 'name' => __( 'Dropdown Menu', $this->plugin_slug ), 'value' => 'dropdown_menu' ),
615
- array( 'name' => __( 'Horizontal Bar', $this->plugin_slug ), 'value' => 'horizontal_bar' ),
616
- ),
617
- ),
618
-
619
- array(
620
- 'name' => 'Draggable Map',
621
- 'id' => $prefix . 'draggable',
622
- 'type' => 'select',
623
- 'std' => 'true',
624
- 'options' => array(
625
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
626
- array( 'name' => __( 'Standard', $this->plugin_slug ), 'value' => 'true' ),
627
- ),
628
- ),
629
- array(
630
- 'name' => 'Double Click to Zoom',
631
- 'id' => $prefix . 'double_click',
632
- 'type' => 'select',
633
- 'std' => 'true',
634
- 'options' => array(
635
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
636
- array( 'name' => __( 'Standard', $this->plugin_slug ), 'value' => 'true' ),
637
- ),
638
- ),
639
- array(
640
- 'name' => 'Mouse Wheel to Zoom',
641
- 'id' => $prefix . 'wheel_zoom',
642
- 'type' => 'select',
643
- 'std' => 'none',
644
- 'options' => array(
645
- array( 'name' => __( 'None', $this->plugin_slug ), 'value' => 'none' ),
646
- array( 'name' => __( 'Standard', $this->plugin_slug ), 'value' => 'true' ),
647
- ),
648
- ),
649
- ),
650
-
651
- );
652
-
653
- return $meta_boxes;
654
-
655
- }
656
-
657
-
658
- /**
659
- * CMB Width Height
660
- *
661
- * Custom CMB field for Gmap width and height
662
- *
663
- * @param $field
664
- * @param $meta
665
- */
666
- function cmb_render_width_height( $field, $meta ) {
667
- $default_options = $this->get_default_map_options();
668
- $meta = wp_parse_args(
669
- $meta, array(
670
- 'width' => $default_options['width'],
671
- 'height' => $default_options['height'],
672
- 'map_width_unit' => $default_options['width_unit'],
673
- )
674
- );
675
-
676
- $output = '<div id="width_height_wrap" class="clear">';
677
- //width
678
- $output .= '<div id="width_wrap" class="clear">';
679
- $output .= '<label class="width-label size-label">Width:</label><input type="text" class="regular-text map-width" name="' . $field['id'] . '[width]" id="' . $field['id'] . '-width" value="' . ( $meta['width'] ? $meta['width'] : $field['width_std'] ) . '" />';
680
- $output .= '<div id="size_labels_wrap">';
681
- $output .= '<input id="width_unit_percent" type="radio" name="' . $field['id'] . '[map_width_unit]" class="width_radio" value="%" ' . ( $meta['map_width_unit'] === '%' || $field['width_unit_std'] === '%' ? 'checked="checked"' : '' ) . '><label class="width_unit_label">%</label>';
682
- $output .= '<input id="width_unit_px" type="radio" name="' . $field['id'] . '[map_width_unit]" class="width_radio" value="px" ' . ( $meta['map_width_unit'] === 'px' ? 'checked="checked"' : '' ) . ' ><label class="width_unit_label">px</label>';
683
- $output .= '</div>';
684
- $output .= '</div>';
685
-
686
- //height
687
- $output .= '<div id="height_wrap" class="clear">';
688
- $output .= '<label for="' . $field['id'] . '[height]" class="height-label size-label">Height:</label><input type="text" class="regular-text map-height" name="' . $field['id'] . '[height]" id="' . $field['id'] . '-height" value="' . ( $meta['height'] ? $meta['height'] : $field['height_std'] ) . '" />';
689
- $output .= '</div>';
690
- $output .= '</div>';
691
-
692
-
693
- echo $output;
694
-
695
-
696
- }
697
-
698
-
699
- /**
700
- * CMB Lat Lng
701
- *
702
- * Custom CMB field for Gmap latitude and longitude
703
- *
704
- * @param $field
705
- * @param $meta
706
- */
707
- function cmb_render_lat_lng( $field, $meta ) {
708
- $meta = wp_parse_args(
709
- $meta, array(
710
- 'latitude' => '',
711
- 'longitude' => '',
712
- )
713
- );
714
-
715
- //lat lng
716
- $output = '<div id="lat-lng-wrap">
717
- <div class="coordinates-wrap clear">
718
- <div class="lat-lng-wrap lat-wrap clear"><span>Latitude: </span>
719
- <input type="text" class="regular-text latitude" name="' . $field['id'] . '[latitude]" id="' . $field['id'] . '-latitude" value="' . ( $meta['latitude'] ? $meta['latitude'] : $field['lat_std'] ) . '" />
720
- </div>
721
- <div class="lat-lng-wrap lng-wrap clear"><span>Longitude: </span>
722
- <input type="text" class="regular-text longitude" name="' . $field['id'] . '[longitude]" id="' . $field['id'] . '-longitude" value="' . ( $meta['longitude'] ? $meta['longitude'] : $field['lng_std'] ) . '" />
723
- </div>';
724
- $output .= '<div class="wpgp-message lat-lng-change-message clear"><p>Lat/lng changed</p><a href="#" class="button lat-lng-update-btn button-small" data-lat="" data-lng="">Update</a></div>';
725
- $output .= '</div><!-- /.coordinates-wrap -->
726
- </div>';
727
-
728
-
729
- echo $output;
730
-
731
-
732
- }
733
-
734
- /**
735
- * Custom Google Geocoder field
736
- * @since 1.0.0
737
- * @return array
738
- */
739
- function cmb_render_google_geocoder( $field, $meta ) {
740
-
741
- $meta = wp_parse_args(
742
- $meta, array(
743
- 'geocode' => '',
744
- )
745
- );
746
-
747
- echo '<div class="autocomplete-wrap"><input type="text" name="' . $field['id'] . '[geocode]" id="' . $field['id'] . '" value="" class="search-autocomplete" /><p class="autocomplete-description">' .
748
- sprintf( __( 'Enter the name of a place or an address above to create a map marker or %s', $this->plugin_slug ), '<a href="#" class="drop-marker button button-small">Drop a Marker</a>' ) .
749
- '</p></div>';
750
-
751
- //'desc' => sprintf( __( 'Set optional preconfigured styles. <a href="%s" class="snazzy-link new-window" target="_blank">Snazzy Maps</a>', $this->plugin_slug ), esc_url( 'http://snazzymaps.com' ) ),
752
-
753
-
754
- //Markers Modal
755
- add_thickbox();
756
- include( 'views/markers.php' );
757
-
758
- }
759
-
760
- /**
761
- * Custom Google Geocoder field
762
- * @since 1.0.0
763
- */
764
- function cmb_render_google_maps_preview( $field, $meta ) {
765
- global $post;
766
- $meta = wp_parse_args( $meta, array() );
767
- $wh_value = get_post_meta( $post->ID, 'gmb_width_height', true );
768
- $default_options = $this->get_default_map_options();
769
-
770
-
771
- $map_height = isset( $wh_value['height'] ) ? $wh_value['height'] : $default_options['height'];
772
- $map_width = isset( $wh_value['width'] ) ? $wh_value['width'] : $default_options['width'];
773
- $map_width_val = isset( $wh_value['map_width_unit'] ) ? $wh_value['map_width_unit'] : $default_options['width_unit'];
774
-
775
- $output = '<div class="places-loading wpgp-loading">Loading Places</div><div id="google-map-wrap">';
776
- $output .= '<div id="map" style="height:' . $map_height . 'px; width:' . $map_width . $map_width_val . '"></div>';
777
- $output .= '</div>';
778
- $output .= '<div class="warning-message wpgp-message"></div>';
779
-
780
- echo $output;
781
-
782
- }
783
-
784
-
785
- } //end class
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/class-wordpress-google-maps-settings.php DELETED
@@ -1,423 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * CMB Theme Options
5
- * @version 0.1.0
6
- */
7
- class Google_Maps_Builder_Settings {
8
-
9
-
10
- /**
11
- * Array of metaboxes/fields
12
- * @var array
13
- */
14
- protected static $plugin_options = array();
15
-
16
- public $plugin_slug;
17
-
18
- public $options_page;
19
-
20
- /**
21
- * Option key, and option page slug
22
- * @var string
23
- */
24
- protected static $key = 'gmb_settings';
25
-
26
-
27
- /**
28
- * Constructor
29
- * @since 0.1.0
30
- */
31
- public function __construct() {
32
-
33
- $plugin = Google_Maps_Builder::get_instance();
34
- $this->plugin_slug = $plugin->get_plugin_slug();
35
- $this->meta = $plugin->meta;
36
-
37
-
38
- //Create Settings submenu
39
- add_action( 'admin_init', array( $this, 'mninit' ) );
40
- add_action( 'admin_menu', array( $this, 'add_page' ) );
41
-
42
- // Load admin style sheet and JavaScript.
43
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
44
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
45
- add_action( 'wp_ajax_hide_welcome', array( $this, 'hide_welcome_callback' ) );
46
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_pointer_script_style' ) );
47
- add_action( 'cmb_render_lat_lng_default', array( $this, 'cmb_render_lat_lng_default' ), 10, 2 );
48
-
49
- //Add links/information to plugin row meta
50
- add_filter( 'plugin_row_meta', array( $this, 'add_plugin_meta_links' ), 10, 2 );
51
- add_filter( 'plugin_action_links', array( $this, 'add_plugin_page_links' ), 10, 2 );
52
-
53
- }
54
-
55
-
56
- /**
57
- * Activation Welcome Tooltip Scripts
58
- *
59
- * @param $hook_suffix
60
- */
61
- function enqueue_pointer_script_style( $hook_suffix ) {
62
-
63
- // Assume pointer shouldn't be shown
64
- $enqueue_pointer_script_style = false;
65
-
66
- // Get array list of dismissed pointers for current user and convert it to array
67
- $dismissed_pointers = explode( ',', get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
68
- $key = array_search( 'gmb_welcome_pointer', $dismissed_pointers ); // $key = 2;
69
-
70
- // Check if our pointer is not among dismissed ones
71
- if ( ! in_array( 'gmb_welcome_pointer', $dismissed_pointers ) ) {
72
- $enqueue_pointer_script_style = true;
73
-
74
- // Add footer scripts using callback function
75
- add_action( 'admin_print_footer_scripts', array( $this, 'welcome_pointer_print_scripts' ) );
76
- }
77
-
78
- // Enqueue pointer CSS and JS files, if needed
79
- if ( $enqueue_pointer_script_style ) {
80
- wp_enqueue_style( 'wp-pointer' );
81
- wp_enqueue_script( 'wp-pointer' );
82
- }
83
-
84
- }
85
-
86
- /**
87
- * Print Activation Message
88
- */
89
- function welcome_pointer_print_scripts() {
90
- $pointer_content = '<h3>' . __( 'Welcome to the Google Maps Builder', $this->plugin_slug ) . '</h3>';
91
- $pointer_content .= '<p>' . __( 'Thank you for using Google Maps Builder for WordPress. To stay up to date on the latest plugin updates, enhancements and news please sign up for our mailing list.', $this->plugin_slug ) . '</p>';
92
- $pointer_content .= '<div id="mc_embed_signup" style="padding: 0 15px;"><form action="http://wordimpress.us3.list-manage2.com/subscribe/post?u=3ccb75d68bda4381e2f45794c&amp;id=83609e2883" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate><div class="mc-field-group" style="margin: 0 0 10px;"><input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" style="margin-right:5px;width:230px;" placeholder="my.email@wordpress.com"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div><div id="mce-responses" class="clear"><div class="response" id="mce-error-response" style="display:none"></div><div class="response" id="mce-success-response" style="display:none"></div></div><div style="position: absolute; left: -5000px;"><input type="text" name="b_3ccb75d68bda4381e2f45794c_83609e2883" value=""></div></form></div>';
93
- ?>
94
-
95
- <script type="text/javascript">
96
- //<![CDATA[
97
- jQuery( document ).ready( function ( $ ) {
98
- $( '#menu-posts-google_maps' ).pointer( {
99
- content : '<?php echo $pointer_content; ?>',
100
- position : {
101
- edge : 'left', // arrow direction
102
- align: 'center' // vertical alignment
103
- },
104
- pointerWidth: 350,
105
- close : function () {
106
- $.post( ajaxurl, {
107
- pointer: 'gmb_welcome_pointer', // pointer ID
108
- action : 'dismiss-wp-pointer'
109
- } );
110
- }
111
- } ).pointer( 'open' );
112
- } );
113
- //]]>
114
- </script>
115
-
116
- <?php
117
- }
118
-
119
- /**
120
- * Register our setting to WP
121
- * @since 0.1.0
122
- */
123
- public function mninit() {
124
-
125
- register_setting( self::$key, self::$key );
126
- }
127
-
128
- /**
129
- * Add menu options page
130
- * @since 1.0.0
131
- */
132
- public function add_page() {
133
-
134
- $this->options_page = add_submenu_page(
135
- 'edit.php?post_type=google_maps',
136
- __( 'Google Maps Builder Settings', $this->plugin_slug ),
137
- __( 'Settings', $this->plugin_slug ),
138
- 'manage_options',
139
- self::$key,
140
- array( $this, 'admin_page_display' )
141
- );
142
-
143
- }
144
-
145
- /**
146
- * Register and enqueue admin-specific style sheet.
147
- *
148
- *
149
- * @since 1.0.0
150
- *
151
- * @param $hook
152
- */
153
- public function enqueue_admin_styles( $hook ) {
154
-
155
- $suffix = defined( 'GMB_DEBUG' ) && GMB_DEBUG ? '' : '.min';
156
- $screen = get_current_screen();
157
-
158
- //Only enqueue scripts for Setting screen
159
- if ( $this->options_page == $screen->id ) {
160
-
161
- wp_enqueue_style( $this->plugin_slug . '-settings-grid', plugins_url( 'assets/css/grid' . $suffix . '.css', __FILE__ ), array(), Google_Maps_Builder::VERSION );
162
- wp_enqueue_style( $this->plugin_slug . '-settings-styles', plugins_url( 'assets/css/admin-settings' . $suffix . '.css', __FILE__ ), array(), Google_Maps_Builder::VERSION );
163
-
164
- }
165
-
166
-
167
- }
168
-
169
- /**
170
- * Register and enqueue admin-specific JavaScript
171
- *
172
- *
173
- * @since 1.0.0
174
- *
175
- * @param $hook
176
- */
177
- public function enqueue_admin_scripts( $hook ) {
178
- global $post;
179
- $suffix = defined( 'GMB_DEBUG' ) && GMB_DEBUG ? '' : '.min';
180
- $screen = get_current_screen();
181
-
182
- //Only enqueue scripts for Setting screen
183
- if ( $this->options_page == $screen->id ) {
184
-
185
- wp_enqueue_script( $this->plugin_slug . '-admin-settings', plugins_url( 'assets/js/admin-settings' . $suffix . '.js', __FILE__ ), array( 'jquery' ), Google_Maps_Builder::VERSION );
186
-
187
- }
188
-
189
-
190
- }
191
-
192
-
193
- /**
194
- * Hide the Settings welcome on click
195
- *
196
- * Sets a user meta key that once set
197
- *
198
- */
199
- public function hide_welcome_callback() {
200
- global $current_user;
201
- $user_id = $current_user->ID;
202
- add_user_meta( $user_id, 'gmb_hide_welcome', 'true', true );
203
- wp_die(); // ajax call must die to avoid trailing 0 in your response
204
- }
205
-
206
-
207
- /**
208
- * Admin page markup. Mostly handled by CMB
209
- * @since 0.1.0
210
- */
211
- public function admin_page_display() {
212
-
213
- include( 'views/settings-page.php' );
214
-
215
- }
216
-
217
- /**
218
- * General Option Fields
219
- * Defines the plugin option metabox and field configuration
220
- * @since 1.0.0
221
- * @return array
222
- */
223
- public function general_option_fields() {
224
-
225
- // Only need to initiate the array once per page-load
226
- if ( ! empty( self::$plugin_options ) ) {
227
- return self::$plugin_options;
228
- }
229
-
230
- $prefix = 'gmb_';
231
-
232
- self::$plugin_options = array(
233
- 'id' => 'plugin_options',
234
- 'show_on' => array( 'key' => 'options-page', 'value' => array( self::$key, ), ),
235
- 'show_names' => true,
236
- 'fields' => array(
237
- array(
238
- 'name' => __( 'Post Type Slug', $this->plugin_slug ),
239
- 'desc' => sprintf( __( 'Customize the default slug for this post type. <a href="%s">Resave (flush) permalinks</a> after customizing.', $this->plugin_slug ), esc_url( '/wp-admin/options-permalink.php' ) ),
240
- 'default' => 'google-maps',
241
- 'id' => $prefix . 'custom_slug',
242
- 'type' => 'text_small'
243
- ),
244
- array(
245
- 'name' => __( 'Menu Position', $this->plugin_slug ),
246
- 'desc' => sprintf( __( 'Set the menu position for Google Maps Builder. See the <a href="%s" class="new-window">menu_position</a> arg.', $this->plugin_slug ), esc_url( 'http://codex.wordpress.org/Function_Reference/register_post_type#Arguments' ) ),
247
- 'default' => '21.3',
248
- 'id' => $prefix . 'menu_position',
249
- 'type' => 'text_small'
250
- ),
251
- array(
252
- 'name' => __( 'Has Archive', $this->plugin_slug ),
253
- 'id' => $prefix . 'has_archive',
254
- 'desc' => sprintf( __( 'Controls the post type archive page. See <a href="%s">Resave (flush) permalinks</a> after customizing.', $this->plugin_slug ), esc_url( '/wp-admin/options-permalink.php' ) ),
255
- 'type' => 'radio_inline',
256
- 'options' => array(
257
- 'true' => __( 'Yes', 'cmb' ),
258
- 'false' => __( 'No', 'cmb' ),
259
- ),
260
- ),
261
- ),
262
- );
263
-
264
- return self::$plugin_options;
265
-
266
- }
267
-
268
- /**
269
- * Map Option Fields
270
- * Defines the plugin option metabox and field configuration
271
- * @since 1.0.0
272
- * @return array
273
- */
274
- public function map_option_fields() {
275
-
276
- // Only need to initiate the array once per page-load
277
- if ( ! empty( self::$plugin_options ) ) {
278
- return self::$plugin_options;
279
- }
280
-
281
- $prefix = 'gmb_';
282
-
283
- self::$plugin_options = array(
284
- 'id' => 'plugin_options',
285
- 'show_on' => array( 'key' => 'options-page', 'value' => array( self::$key, ), ),
286
- 'show_names' => true,
287
- 'fields' => array(
288
- array(
289
- 'name' => __( 'Map Size', $this->plugin_slug ),
290
- 'id' => $prefix . 'width_height',
291
- 'type' => 'width_height',
292
- 'width_std' => '100',
293
- 'width_unit_std' => '%',
294
- 'height_std' => '600',
295
- 'lat_std' => '32.7153292',
296
- 'lng_std' => '-117.15725509',
297
- 'desc' => '',
298
- ),
299
- array(
300
- 'name' => __( 'Map Location', $this->plugin_slug ),
301
- 'id' => $prefix . 'lat_lng',
302
- 'type' => 'lat_lng_default',
303
- 'lat_std' => '32.7153292',
304
- 'lng_std' => '-117.15725509',
305
- 'desc' => '',
306
- ),
307
- array(
308
- 'name' => __( 'Places API Key', $this->plugin_slug ),
309
- 'desc' => sprintf( __( 'API keys are manage through the <a href="%1$s" class="new-window" target="_blank" class="new-window">Google API Console</a>. For more information please see <a href="%2$s" target="_blank" class="new-window" title="Google Places API Introduction">this article</a>.', $this->plugin_slug ), esc_url( 'https://code.google.com/apis/console/?noredirect' ), esc_url( 'https://developers.google.com/places/documentation/#Authentication' ) ),
310
- 'id' => $prefix . 'api_key',
311
- 'type' => 'text',
312
- ),
313
- ),
314
- );
315
-
316
- return self::$plugin_options;
317
-
318
- }
319
-
320
- /**
321
- * CMB Lat Lng
322
- *
323
- * Custom CMB field for Gmap latitude and longitude
324
- *
325
- * @param $field
326
- * @param $meta
327
- */
328
- function cmb_render_lat_lng_default( $field, $meta ) {
329
-
330
- $meta = wp_parse_args(
331
- $meta, array(
332
- 'geolocate_map' => 'yes',
333
- 'latitude' => '',
334
- 'longitude' => '',
335
- )
336
- );
337
-
338
- //Geolocate
339
- $output = '<div id="width_wrap" class="clear">';
340
- $output .= '<label class="geocode-label size-label">' . __( 'Geolocate Position', $this->plugin_slug ) . ':</label>';
341
- $output .= '<div id="size_labels_wrap" class="geolocate-radio-wrap">';
342
- $output .= '<input id="geolocate_map_yes" type="radio" name="' . $field['id'] . '[geolocate_map]" class="geolocate_map_radio radio-left" value="yes" ' . ( $meta['geolocate_map'] === 'yes' ? 'checked="checked"' : '' ) . '><label class="yes-label label-left">' . __( 'Yes', $this->plugin_slug ) . '</label>';
343
-
344
- $output .= '<input id="geolocate_map_no" type="radio" name="' . $field['id'] . '[geolocate_map]" class="geolocate_map_radio radio-left" value="no" ' . ( $meta['geolocate_map'] === 'no' ? 'checked="checked"' : '' ) . ' ><label class="no-label label-left">' . __( 'No', $this->plugin_slug ) . '</label>';
345
- $output .= '</div>';
346
-
347
- //lat_lng
348
- $output .= '<div id="lat-lng-wrap"><div class="coordinates-wrap clear">';
349
- $output .= '<div class="lat-lng-wrap lat-wrap clear"><span>Latitude: </span>
350
- <input type="text" class="regular-text latitude" name="' . $field['id'] . '[latitude]" id="' . $field['id'] . '-latitude" value="' . ( $meta['latitude'] ? $meta['latitude'] : $field['lat_std'] ) . '" />
351
- </div>
352
- <div class="lat-lng-wrap lng-wrap clear"><span>Longitude: </span>
353
- <input type="text" class="regular-text longitude" name="' . $field['id'] . '[longitude]" id="' . $field['id'] . '-longitude" value="' . ( $meta['longitude'] ? $meta['longitude'] : $field['lng_std'] ) . '" />
354
- </div>';
355
- $output .= '<p class="small-desc">' . sprintf( __( 'For quick lat/lng lookup use <a href="%s" class="new-window" target="_blank">this service</a>', $this->plugin_slug ), esc_url( 'http://www.latlong.net/' ) ) . '</p>';
356
- $output .= '</div><!-- /.search-coordinates-wrap -->
357
- </div>';
358
-
359
-
360
- echo $output;
361
-
362
-
363
- }
364
-
365
-
366
- /**
367
- * Make public the protected $key variable.
368
- * @since 0.1.0
369
- * @return string Option key
370
- */
371
- public static function key() {
372
- return self::$key;
373
- }
374
-
375
-
376
- /**
377
- * Add links to Plugin listings view
378
- *
379
- * @param $links
380
- *
381
- * @return mixed
382
- */
383
- function add_plugin_page_links( $links, $file ) {
384
-
385
- if ( $file == GMB_PLUGIN_BASE ) {
386
-
387
- // Add Widget Page link to our plugin
388
- $settings_link = '<a href="edit.php?post_type=google_maps&page=' . self::$key . '" title="' . __( 'Visit the Google Maps Builder plugin settings page', $this->plugin_slug ) . '">' . __( 'Settings', $this->plugin_slug ) . '</a>';
389
- array_unshift( $links, $settings_link );
390
-
391
- }
392
-
393
- return $links;
394
- }
395
-
396
- function add_plugin_meta_links( $meta, $file ) {
397
-
398
- if ( $file == GMB_PLUGIN_BASE ) {
399
- $meta[] = "<a href='http://wordpress.org/support/view/plugin-reviews/google-maps-builder' target='_blank' title='" . __( 'Rate Google Maps Builder on WordPress.org', $this->plugin_slug ) . "'>" . __( 'Rate Plugin', $this->plugin_slug ) . "</a>";
400
- $meta[] = '<a href="http://wordpress.org/support/plugin/google-maps-builder/" target="_blank" title="' . __( 'Get plugin support via the WordPress community', $this->plugin_slug ) . '">' . __( 'Support', $this->plugin_slug ) . '</a>';
401
- $meta[] = __( 'Thank You for using Google Maps Builder', $this->plugin_slug );
402
- }
403
-
404
- return $meta;
405
- }
406
-
407
-
408
- }
409
-
410
- // Get it started
411
- $Google_Maps_Builder_Settings = new Google_Maps_Builder_Settings();
412
-
413
- /**
414
- * Wrapper function around cmb_get_option
415
- * @since 0.1.0
416
- *
417
- * @param string $key Options array key
418
- *
419
- * @return mixed Option value
420
- */
421
- function gmb_get_option( $key = '' ) {
422
- return cmb_get_option( Google_Maps_Builder_Settings::key(), $key );
423
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/includes/index.php DELETED
@@ -1 +0,0 @@
1
- <?php // Silence is golden
 
admin/includes/tooltips/jquery.qtip.min.css DELETED
@@ -1,2 +0,0 @@
1
- /* qTip2 v2.2.0 css3 | qtip2.com | Licensed MIT, GPL | Sun Mar 16 2014 07:12:39 */
2
- .qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.qtip-titlebar{position:relative;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid;border-color:transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-titlebar .ui-icon,.qtip-icon .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 bold 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em}.qtip-focus{}.qtip-hover{}.qtip-default{border-width:1px;border-style:solid;border-color:#F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-rounded,.qtip-tipsy,.qtip-bootstrap{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border-width:0;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:#4A4A4A;background-color:rgba(0,0,0,0)}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323)"}.qtip-jtools .qtip-titlebar,.qtip-jtools .qtip-content{background:transparent;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:transparent}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}x:-o-prefocus,.qtip .qtip-tip{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:transparent;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:0;top:0;width:100%;height:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"}
 
 
admin/includes/tooltips/jquery.qtip.min.js DELETED
@@ -1,4 +0,0 @@
1
- /* qTip2 v2.2.0 tips viewport imagemap svg modal | qtip2.com | Licensed MIT, GPL | Sun Mar 16 2014 07:12:37 */
2
-
3
- !function(a,b,c){!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){"use strict";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=F,this.elements={target:a},this._id=S+"-"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:E,attr:e,onTooltip:E,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=E}function f(a){return a===F||"object"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||"object"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?E:(f(a.metadata)&&(a.metadata={type:a.metadata}),"content"in a&&(b=a.content,f(b)||b.jquery||b.done?b=a.content={text:c=g(b)?E:b}:c=b.text,"ajax"in b&&(e=b.ajax,h=e&&e.once!==E,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||"Loading...",g=d.ajax(d.extend({},e,{context:b})).then(e.success,F,e.error).then(function(a){return a&&h&&b.set("content.text",a),a},function(a,c,d){b.destroyed||0===a.status||b.set("content.text",c+": "+d)});return h?f:(b.set("content.text",f),g)}),"title"in b&&(f(b.title)||(b.button=b.title.button,b.title=b.title.text),g(b.title||E)&&(b.title=E))),"position"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===D?{ready:D}:{event:a.show}),"hide"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(R,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(".");e=e[f[d++]];)d<f.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)for(d in this.checks[c])(e=new RegExp(d,"i").exec(a))&&(b.push(e),("builtin"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return V.concat("").join(a?"-"+a+" ":" ")}function l(c){return c&&{type:c.type,pageX:c.pageX,pageY:c.pageY,target:c.target,relatedTarget:c.relatedTarget,scrollX:c.scrollX||a.pageXOffset||b.body.scrollLeft||b.documentElement.scrollLeft,scrollY:c.scrollY||a.pageYOffset||b.body.scrollTop||b.documentElement.scrollTop}||{}}function m(a,b){return b>0?setTimeout(d.proxy(a,this),b):(a.call(this),void 0)}function n(a){return this.tooltip.hasClass(ab)?E:(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=m.call(this,function(){this.toggle(D,a)},this.options.show.delay),void 0)}function o(a){if(this.tooltip.hasClass(ab))return E;var b=d(a.relatedTarget),c=b.closest(W)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&"mouse"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=m.call(this,function(){this.toggle(E,a)},this.options.hide.delay,this)}function p(a){return this.tooltip.hasClass(ab)||!this.options.hide.inactive?E:(clearTimeout(this.timers.inactive),this.timers.inactive=m.call(this,function(){this.hide(a)},this.options.hide.inactive),void 0)}function q(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function r(a,c,e){d(b.body).delegate(a,(c.split?c:c.join(hb+" "))+hb,function(){var a=y.api[d.attr(this,U)];a&&!a.disabled&&e.apply(a,arguments)})}function s(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):F,p="html5"===f.metadata.type&&o?o[f.metadata.name]:F,q=a.data(f.metadata.name||"qtipopts");try{q="string"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(D,{},y.defaults,f,"object"==typeof q?h(q):F,h(p||o)),i=k.position,k.id=c,"boolean"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===E||!j)return E;k.content.text=j}if(i.container.length||(i.container=m),i.target===E&&(i.target=n),k.show.target===E&&(k.show.target=n),k.show.solo===D&&(k.show.solo=i.container.closest("body")),k.hide.target===E&&(k.hide.target=n),k.position.viewport===D&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new A(i.at,D),i.my=new A(i.my),a.data(S))if(k.overwrite)a.qtip("destroy",!0);else if(k.overwrite===E)return E;return a.attr(T,c),k.suppress&&(l=a.attr("title"))&&a.removeAttr("title").attr(cb,l).attr("title",""),g=new e(a,k,c,!!j),a.data(S,g),a.one("remove.qtip-"+c+" removeqtip.qtip-"+c,function(){var a;(a=d(this).data(S))&&a.destroy(!0)}),g}function t(a){return a.charAt(0).toUpperCase()+a.slice(1)}function u(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+" "+sb.join(f+" ")+f).split(" "),h=0;if(rb[b])return a.css(rb[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return rb[b]=d,e}function v(a,b){return Math.ceil(parseFloat(u(a,b)))}function w(a,b){this._ns="tip",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.init(this.qtip=a)}function x(a,b){this.options=b,this._ns="-modal",this.init(this.qtip=a)}var y,z,A,B,C,D=!0,E=!1,F=null,G="x",H="y",I="width",J="height",K="top",L="left",M="bottom",N="right",O="center",P="flipinvert",Q="shift",R={},S="qtip",T="data-hasqtip",U="data-qtip-id",V=["ui-widget","ui-tooltip"],W="."+S,X="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),Y=S+"-fixed",Z=S+"-default",$=S+"-focus",_=S+"-hover",ab=S+"-disabled",bb="_replacedByqTip",cb="oldtitle",db={ie:function(){for(var a=3,c=b.createElement("div");(c.innerHTML="<!--[if gt IE "+ ++a+"]><i></i><![endif]-->")&&c.getElementsByTagName("i")[0];);return a>4?a:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||E};z=e.prototype,z._when=function(a){return d.when.apply(d,a)},z.render=function(a){if(this.rendered||this.destroyed)return this;var b,c=this,e=this.options,f=this.cache,g=this.elements,h=e.content.text,i=e.content.title,j=e.content.button,k=e.position,l=("."+this._id+" ",[]);return d.attr(this.target[0],"aria-describedby",this._id),this.tooltip=g.tooltip=b=d("<div/>",{id:this._id,"class":[S,Z,e.style.classes,S+"-pos-"+e.position.my.abbrev()].join(" "),width:e.style.width||"",height:e.style.height||"",tracking:"mouse"===k.target&&k.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":E,"aria-describedby":this._id+"-content","aria-hidden":D}).toggleClass(ab,this.disabled).attr(U,this.id).data(S,this).appendTo(k.container).append(g.content=d("<div />",{"class":S+"-content",id:this._id+"-content","aria-atomic":D})),this.rendered=-1,this.positioning=D,i&&(this._createTitle(),d.isFunction(i)||l.push(this._updateTitle(i,E))),j&&this._createButton(),d.isFunction(h)||l.push(this._updateContent(h,E)),this.rendered=D,this._setWidget(),d.each(R,function(a){var b;"render"===this.initialize&&(b=this(c))&&(c.plugins[a]=b)}),this._unassignEvents(),this._assignEvents(),this._when(l).then(function(){c._trigger("render"),c.positioning=E,c.hiddenDuringWait||!e.show.ready&&!a||c.toggle(D,f.event,E),c.hiddenDuringWait=E}),y.api[this.id]=this,this},z.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=D;var a=this.target,b=a.attr(cb);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()}),clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this._unassignEvents(),a.removeData(S).removeAttr(U).removeAttr(T).removeAttr("aria-describedby"),this.options.suppress&&b&&a.attr("title",b).removeAttr(cb),this._unbind(a),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=F,delete y.api[this.id]}}return this.destroyed?this.target:(a===D&&"hide"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one("tooltiphidden",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},B=z.checks={builtin:{"^id$":function(a,b,c,e){var f=c===D?y.nextid:c,g=S+"-"+f;f!==E&&f.length>0&&!d("#"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):a[b]=e},"^prerender":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(a,b,c){this._updateContent(c)},"^content.attr$":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},"^content.title$":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),this._updateTitle(c),void 0):this._removeTitle()},"^content.button$":function(a,b,c){this._updateButton(c)},"^content.title.(text|button)$":function(a,b,c){this.set("content."+b,c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(a[b]=new A(c,"at"===b))},"^position.container$":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},"^show.ready$":function(a,b,c){c&&(!this.rendered&&this.render(D)||this.toggle(D))},"^style.classes$":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},"^style.(width|height)":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(a,b,c){this.rendered&&this.tooltip.toggleClass(Z,!!c)},"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr("tracking","mouse"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},z.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var eb=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,fb=/^prerender|show\.ready/i;z.set=function(a,b){if(this.destroyed)return this;{var c,e=this.rendered,f=E,g=this.options;this.checks}return"string"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&fb.test(b))return delete a[b],void 0;var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=eb.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=D,d.each(a,d.proxy(j,this)),this.positioning=E,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition("mouse"===g.position.target?F:this.cache.event),this},z._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||""),d.isFunction(a.then)?(e.waiting=D,a.then(function(a){return e.waiting=E,c._update(a,b)},F,function(a){return c._update(a,b)})):a===E||!a&&""!==a?E:(a.jquery&&a.length>0?b.empty().append(a.css({display:"block",visibility:"visible"})):b.html(a),this._waitForContent(b).then(function(a){a.images&&a.images.length&&c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):E},z._waitForContent=function(a){var b=this.cache;return b.waiting=D,(d.fn.imagesLoaded?a.imagesLoaded():d.Deferred().resolve([])).done(function(){b.waiting=E}).promise()},z._updateContent=function(a,b){this._update(a,this.elements.content,b)},z._updateTitle=function(a,b){this._update(a,this.elements.title,b)===E&&this._removeTitle(E)},z._createTitle=function(){var a=this.elements,b=this._id+"-title";a.titlebar&&this._removeTitle(),a.titlebar=d("<div />",{"class":S+"-titlebar "+(this.options.style.widget?k("header"):"")}).append(a.title=d("<div />",{id:b,"class":S+"-title","aria-atomic":D})).insertBefore(a.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus","down"===a.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover","mouseover"===a.type)}),this.options.content.button&&this._createButton()},z._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=F,a!==E&&this.reposition())},z.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=D;var f,g,h=this.cache,i=this.tooltip,j=this.options.position,k=j.target,l=j.my,m=j.at,n=j.viewport,o=j.container,p=j.adjust,q=p.method.split(" "),r=i.outerWidth(E),s=i.outerHeight(E),t=0,u=0,v=i.css("position"),w={left:0,top:0},x=i[0].offsetWidth>0,y=c&&"scroll"===c.type,z=d(a),A=o[0].ownerDocument,B=this.mouse;if(d.isArray(k)&&2===k.length)m={x:L,y:K},w={left:k[0],top:k[1]};else if("mouse"===k)m={x:L,y:K},!B||!B.pageX||!p.mouse&&c&&c.pageX?c&&c.pageX||((!p.mouse||this.options.show.distance)&&h.origin&&h.origin.pageX?c=h.origin:(!c||c&&("resize"===c.type||"scroll"===c.type))&&(c=h.event)):c=B,"static"!==v&&(w=o.offset()),A.body.offsetWidth!==(a.innerWidth||A.documentElement.clientWidth)&&(g=d(b.body).offset()),w={left:c.pageX-w.left+(g&&g.left||0),top:c.pageY-w.top+(g&&g.top||0)},p.mouse&&y&&B&&(w.left-=(B.scrollX||0)-z.scrollLeft(),w.top-=(B.scrollY||0)-z.scrollTop());else{if("event"===k?c&&c.target&&"scroll"!==c.type&&"resize"!==c.type?h.target=d(c.target):c.target||(h.target=this.elements.target):"event"!==k&&(h.target=d(k.jquery?k:this.elements.target)),k=h.target,k=d(k).eq(0),0===k.length)return this;k[0]===b||k[0]===a?(t=db.iOS?a.innerWidth:k.width(),u=db.iOS?a.innerHeight:k.height(),k[0]===a&&(w={top:(n||k).scrollTop(),left:(n||k).scrollLeft()})):R.imagemap&&k.is("area")?f=R.imagemap(this,k,m,R.viewport?q:E):R.svg&&k&&k[0].ownerSVGElement?f=R.svg(this,k,m,R.viewport?q:E):(t=k.outerWidth(E),u=k.outerHeight(E),w=k.offset()),f&&(t=f.width,u=f.height,g=f.offset,w=f.position),w=this.reposition.offset(k,w,o),(db.iOS>3.1&&db.iOS<4.1||db.iOS>=4.3&&db.iOS<4.33||!db.iOS&&"fixed"===v)&&(w.left-=z.scrollLeft(),w.top-=z.scrollTop()),(!f||f&&f.adjustable!==E)&&(w.left+=m.x===N?t:m.x===O?t/2:0,w.top+=m.y===M?u:m.y===O?u/2:0)}return w.left+=p.x+(l.x===N?-r:l.x===O?-r/2:0),w.top+=p.y+(l.y===M?-s:l.y===O?-s/2:0),R.viewport?(w.adjusted=R.viewport(this,w,j,t,u,r,s),g&&w.adjusted.left&&(w.left+=g.left),g&&w.adjusted.top&&(w.top+=g.top)):w.adjusted={left:0,top:0},this._trigger("move",[w,n.elem||n],c)?(delete w.adjusted,e===E||!x||isNaN(w.left)||isNaN(w.top)||"mouse"===k||!d.isFunction(j.effect)?i.css(w):d.isFunction(j.effect)&&(j.effect.call(i,this,d.extend({},w)),i.queue(function(a){d(this).css({opacity:"",height:""}),db.ie&&this.style.removeAttribute("filter"),a()})),this.positioning=E,this):this},z.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!db.ie&&"CSS1Compat"!==b.compatMode,m=e[0];do"static"!==(h=d.css(m,"position"))&&("fixed"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,"borderLeftWidth"))||0,i.top+=parseFloat(d.css(m,"borderTopWidth"))||0),c.left-=i.left+(parseFloat(d.css(m,"marginLeft"))||0),c.top-=i.top+(parseFloat(d.css(m,"marginTop"))||0),g||"hidden"===(j=d.css(m,"overflow"))||"visible"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var gb=(A=z.reposition.Corner=function(a,b){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,O).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance="t"===c||"b"===c?H:G}).prototype;gb.invert=function(a,b){this[a]=this[a]===L?N:this[a]===N?L:b||this[a]},gb.string=function(){var a=this.x,b=this.y;return a===b?a:this.precedance===H||this.forceY&&"center"!==b?b+" "+a:a+" "+b},gb.abbrev=function(){var a=this.string().split(" ");return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||"")},gb.clone=function(){return new A(this.string(),this.forceY)},z.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=l(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=D),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?"show":"hide",m=this.options[k],n=(this.options[a?"hide":"show"],this.options.position),o=this.options.content,p=this.tooltip.css("width"),q=this.tooltip.is(":visible"),r=a||1===m.target.length,s=!c||m.target.length<2||e.target[0]===c.target;return(typeof a).search("boolean|number")&&(a=!q),h=!g.is(":animated")&&q===a&&s,i=h?F:!!this._trigger(k,[90]),this.destroyed?this:(i!==E&&a&&this.focus(c),!i||h?this:(d.attr(g[0],"aria-hidden",!a),a?(e.origin=l(this.mouse),d.isFunction(o.text)&&this._updateContent(o.text,E),d.isFunction(o.title)&&this._updateTitle(o.title,E),!C&&"mouse"===n.target&&n.adjust.mouse&&(d(b).bind("mousemove."+S,this._storeMouse),C=D),p||g.css("width",g.outerWidth(E)),this.reposition(c,arguments[2]),p||g.css("width",""),m.solo&&("string"==typeof m.solo?d(m.solo):d(W,m.solo)).not(g).not(m.target).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete e.origin,C&&!d(W+'[tracking="true"]:visible',m.solo).not(g).length&&(d(b).unbind("mousemove."+S),C=E),this.blur(c)),j=d.proxy(function(){a?(db.ie&&g[0].style.removeAttribute("filter"),g.css("overflow",""),"string"==typeof m.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):g.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(a?"visible":"hidden")},this),m.effect===E||r===E?(g[k](),j()):d.isFunction(m.effect)?(g.stop(1,1),m.effect.call(g,this),g.queue("fx",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&m.target.trigger("qtip-"+this.id+"-inactive"),this))},z.show=function(a){return this.toggle(D,a)},z.hide=function(a){return this.toggle(E,a)},z.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(W),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=y.zindex+b.length;return c.hasClass($)||this._trigger("focus",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+$).qtip("blur",a)),c.addClass($)[0].style.zIndex=f),this},z.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass($),this._trigger("blur",[this.tooltip.css("zIndex")],a),this)},z.disable=function(a){return this.destroyed?this:("toggle"===a?a=!(this.rendered?this.tooltip.hasClass(ab):this.disabled):"boolean"!=typeof a&&(a=D),this.rendered&&this.tooltip.toggleClass(ab,a).attr("aria-disabled",a),this.disabled=!!a,this)},z.enable=function(){return this.disable(E)},z._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f="string"==typeof e,g=f?e:"Close tooltip";b.button&&b.button.remove(),b.button=e.jquery?e:d("<a />",{"class":"qtip-close "+(this.options.style.widget?"":S+"-icon"),title:g,"aria-label":g}).prepend(d("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"})),b.button.appendTo(b.titlebar||c).attr("role","button").click(function(b){return c.hasClass(ab)||a.hide(b),E})},z._updateButton=function(a){if(!this.rendered)return E;var b=this.elements.button;a?this._createButton():b.remove()},z._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(ab);c.removeClass(ab),ab=a?"ui-state-disabled":"qtip-disabled",c.toggleClass(ab,d),c.toggleClass("ui-helper-reset "+k(),a).toggleClass(Z,this.options.style.def&&!a),b.content&&b.content.toggleClass(k("content"),a),b.titlebar&&b.titlebar.toggleClass(k("header"),a),b.button&&b.button.toggleClass(S+"-icon",!a)},z._storeMouse=function(a){(this.mouse=l(a)).type="mousemove"},z._bind=function(a,b,c,e,f){var g="."+this._id+(e?"-"+e:"");b.length&&d(a).bind((b.split?b:b.join(g+" "))+g,d.proxy(c,f||this))},z._unbind=function(a,b){d(a).unbind("."+this._id+(b?"-"+b:""))};var hb="."+S;d(function(){r(W,["mouseenter","mouseleave"],function(a){var b="mouseenter"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Y)&&!c.hasClass(ab)&&clearTimeout(this.timers.hide)):"mouse"===f.position.target&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(_,b)}),r("["+U+"]",X,p)}),z._trigger=function(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||F,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=E,!e.isDefaultPrevented()},z._bindEvents=function(a,b,c,e,f,g){if(e.add(c).length===e.length){var h=[];b=d.map(b,function(b){var c=d.inArray(b,a);return c>-1?(h.push(a.splice(c,1)[0]),void 0):b}),h.length&&this._bind(c,h,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)})}this._bind(c,a,f),this._bind(e,b,g)},z._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?E:(this.cache.event=l(a),this.cache.target=a?d(a.target):[c],clearTimeout(this.timers.show),this.timers.show=m.call(this,function(){this.render("object"==typeof a||e.show.ready)},e.show.delay),void 0)}var e=this.options,f=e.show.target,g=e.hide.target,h=e.show.event?d.trim(""+e.show.event).split(" "):[],i=e.hide.event?d.trim(""+e.hide.event).split(" "):[];/mouse(over|enter)/i.test(e.show.event)&&!/mouse(out|leave)/i.test(e.hide.event)&&i.push("mouseleave"),this._bind(f,"mousemove",function(a){this._storeMouse(a),this.cache.onTarget=D}),this._bindEvents(h,i,f,g,b,function(){clearTimeout(this.timers.show)}),(e.show.ready||e.prerender)&&b.call(this,a)},z._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),m=(d(b.body),d(a)),r=e.show.event?d.trim(""+e.show.event).split(" "):[],s=e.hide.event?d.trim(""+e.hide.event).split(" "):[];d.each(e.events,function(a,b){c._bind(g,"toggle"===a?["tooltipshow","tooltiphide"]:["tooltip"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&"window"===e.hide.leave&&this._bind(l,["mouseout","blur"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Y)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+e.hide.event).indexOf("unfocus")>-1&&this._bind(j.closest("html"),["mousedown","touchstart"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(ab)&&this.tooltip[0].offsetWidth>0,e=b.parents(W).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),"number"==typeof e.hide.inactive&&(this._bind(h,"qtip-"+this.id+"-inactive",p),this._bind(i.add(g),y.inactiveEvents,p,"-inactive")),this._bindEvents(r,s,h,i,n,o),this._bind(h.add(g),"mousemove",function(a){if("number"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),"mouse"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,["mouseenter","mouseleave"],function(a){this.cache.onTarget="mouseenter"===a.type}),this._bind(l,"mousemove",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(ab)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:m,"resize",q),f.adjust.scroll&&this._bind(m.add(f.container),"scroll",q)},z._unassignEvents=function(){var c=[this.options.show.target[0],this.options.hide.target[0],this.rendered&&this.tooltip[0],this.options.position.container[0],this.options.position.viewport[0],this.options.position.container.closest("html")[0],a,b];this._unbind(d([]).pushStack(d.grep(c,function(a){return"object"==typeof a})))},y=d.fn.qtip=function(a,b,e){var f=(""+a).toLowerCase(),g=F,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],S):F;return!arguments.length&&k||"api"===f?k:"string"==typeof a?(this.each(function(){var a=d.data(this,S);if(!a)return D;if(j&&j.timeStamp&&(a.cache.event=j),!b||"option"!==f&&"options"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),E;a.set(b,e)}}),g!==F?g:this):"object"!=typeof a&&arguments.length?void 0:(k=h(d.extend(D,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===E||c.length<1||y.api[c]?y.nextid++:c,b=s(d(this),c,k),b===E?D:(y.api[c]=b,d.each(R,function(){"initialize"===this.initialize&&this(b)}),b._assignInitialEvents(j),void 0)}))},d.qtip=e,y.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,cb):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(cb,b))}return d.fn["attr"+bb].apply(this,arguments)},clone:function(a){var b=(d([]),d.fn["clone"+bb].apply(this,arguments));return a||b.filter("["+cb+"]").attr("title",function(){return d.attr(this,cb)}).removeAttr(cb),b}},function(a,b){if(!b||d.fn[a+bb])return D;var c=d.fn[a+bb]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+bb]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(T))try{b.triggerHandler("removeqtip")}catch(e){}d["cleanData"+bb].apply(this,arguments)}),y.version="2.2.0",y.nextid=0,y.inactiveEvents=X,y.zindex=15e3,y.defaults={prerender:E,id:E,overwrite:D,suppress:D,content:{text:D,attr:"title",title:E,button:E},position:{my:"top left",at:"bottom right",target:E,container:E,viewport:E,adjust:{x:0,y:0,mouse:D,scroll:D,resize:D,method:"flipinvert flipinvert"},effect:function(a,b){d(this).animate(b,{duration:200,queue:E})}},show:{target:E,event:"mouseenter",effect:D,delay:90,solo:E,ready:E,autofocus:E},hide:{target:E,event:"mouseleave",effect:D,delay:0,fixed:E,inactive:E,leave:"window",distance:E},style:{classes:"",widget:E,width:E,height:E,def:D},events:{render:F,move:F,show:F,hide:F,toggle:F,visible:F,hidden:F,focus:F,blur:F}};var ib,jb="margin",kb="border",lb="color",mb="background-color",nb="transparent",ob=" !important",pb=!!b.createElement("canvas").getContext,qb=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,rb={},sb=["Webkit","O","Moz","ms"];if(pb)var tb=a.devicePixelRatio||1,ub=function(){var a=b.createElement("canvas").getContext("2d");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),vb=tb/ub;else var wb=function(a,b,c){return"<qtipvml:"+a+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(b||"")+' style="behavior: url(#default#VML); '+(c||"")+'" />'};d.extend(w.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d("<div />",{"class":S+"-tip"}).prependTo(a.tooltip),pb?(b=d("<canvas />").appendTo(this.element)[0].getContext("2d"),b.lineJoin="miter",b.miterLimit=1e5,b.save()):(b=wb("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(b+b),a._bind(d("*",c).add(c),["click","mousedown"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===K||a.y===O&&this.element.position().top+this.size[1]/2+this.options.offset<b.outerHeight(D))},_parseCorner:function(a){var b=this.qtip.options.position.my;return a===E||b===E?a=E:a===D?a=new A(b.string()):a.string||(a=new A(a),a.fixed=D),a},_parseWidth:function(a,b,c){var d=this.qtip.elements,e=kb+t(b)+"Width";return(c?v(c,e):v(d.content,e)||v(this._useTitle(a)&&d.titlebar||d.content,e)||v(d.tooltip,e))||0},_parseRadius:function(a){var b=this.qtip.elements,c=kb+t(a.y)+t(a.x)+"Radius";return db.ie<9?0:v(this._useTitle(a)&&b.titlebar||b.content,c)||v(b.tooltip,c)||0},_invalidColour:function(a,b,c){var d=a.css(b);return!d||c&&d===a.css(c)||qb.test(d)?E:d},_parseColours:function(a){var b=this.qtip.elements,c=this.element.css("cssText",""),e=kb+t(a[a.precedance])+t(lb),f=this._useTitle(a)&&b.titlebar||b.content,g=this._invalidColour,h=[];return h[0]=g(c,mb)||g(f,mb)||g(b.content,mb)||g(b.tooltip,mb)||c.css(mb),h[1]=g(c,e,lb)||g(f,e,lb)||g(b.content,e,lb)||g(b.tooltip,e,lb)||b.tooltip.css(e),d("*",c).add(c).css("cssText",mb+":"+nb+ob+";"+kb+":0"+ob+";"),h},_calculateSize:function(a){var b,c,d,e=a.precedance===H,f=this.options.width,g=this.options.height,h="c"===a.abbrev(),i=(e?f:g)*(h?.5:1),j=Math.pow,k=Math.round,l=Math.sqrt(j(i,2)+j(g,2)),m=[this.border/i*l,this.border/g*l];return m[2]=Math.sqrt(j(m[0],2)-j(this.border,2)),m[3]=Math.sqrt(j(m[1],2)-j(this.border,2)),b=l+m[2]+m[3]+(h?0:m[0]),c=b/l,d=[k(c*f),k(c*g)],e?d:d.reverse()},_calculateTip:function(a,b,c){c=c||1,b=b||this.size;var d=b[0]*c,e=b[1]*c,f=Math.ceil(d/2),g=Math.ceil(e/2),h={br:[0,0,d,e,d,0],bl:[0,0,d,0,0,e],tr:[0,e,d,0,d,e],tl:[0,0,0,e,d,e],tc:[0,e,f,0,d,e],bc:[0,0,d,0,f,e],rc:[0,0,d,g,0,e],lc:[d,0,d,e,0,g]};return h.lt=h.br,h.rt=h.bl,h.lb=h.tr,h.rb=h.tl,h[a.abbrev()]},_drawCoords:function(a,b){a.beginPath(),a.moveTo(b[0],b[1]),a.lineTo(b[2],b[3]),a.lineTo(b[4],b[5]),a.closePath()},create:function(){var a=this.corner=(pb||db.ie)&&this._parseCorner(this.options.corner);return(this.enabled=!!this.corner&&"c"!==this.corner.abbrev())&&(this.qtip.cache.corner=a.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(b,c){if(!this.enabled)return this;var e,f,g,h,i,j,k,l,m=this.qtip.elements,n=this.element,o=n.children(),p=this.options,q=this.size,r=p.mimic,s=Math.round;b||(b=this.qtip.cache.corner||this.corner),r===E?r=b:(r=new A(r),r.precedance=b.precedance,"inherit"===r.x?r.x=b.x:"inherit"===r.y?r.y=b.y:r.x===r.y&&(r[b.precedance]=b[b.precedance])),f=r.precedance,b.precedance===G?this._swapDimensions():this._resetDimensions(),e=this.color=this._parseColours(b),e[1]!==nb?(l=this.border=this._parseWidth(b,b[b.precedance]),p.border&&1>l&&!qb.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==D?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+"px"}),j=b.precedance===H?[s(r.x===L?l:r.x===N?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===K?k[1]-q[1]:0)]:[s(r.x===L?k[0]-q[0]:0),s(r.y===K?l:r.y===M?k[1]-q[1]-l:(k[1]-q[1])/2)],pb?(g=o[0].getContext("2d"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,vb),i=this._calculateTip(r,this.size,vb),o.attr(I,k[0]*vb).attr(J,k[1]*vb),o.css(I,k[0]).css(J,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*vb,j[1]*vb),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h="m"+h[0]+","+h[1]+" l"+h[2]+","+h[3]+" "+h[4]+","+h[5]+" xe",j[2]=l&&/^(r|b)/i.test(b.string())?8===db.ie?2:1:0,o.css({coordsize:k[0]+l+" "+(k[1]+l),antialias:""+(r.string().indexOf(O)>-1),left:j[0]-j[2]*Number(f===G),top:j[1]-j[2]*Number(f===H),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k[0]+l+" "+(k[1]+l),path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(wb("stroke",'weight="'+2*l+'px" color="'+e[1]+'" miterlimit="1000" joinstyle="miter"'))})),a.opera&&setTimeout(function(){m.tip.css({display:"inline-block",visibility:"visible"})},1),c!==E&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return E;var c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j=(g.tooltip.hasClass("ui-widget"),{});return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===G&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===O?(h=c===H?L:K,j[h]="50%",j[jb+"-"+h]=-Math.round(b[c===H?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))
4
- }),j[a[c]]-=b[c===G?0:1],h.css({margin:"",top:"",bottom:"",left:"",right:""}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===Q&&j.precedance===b&&k[d]&&j[c]!==O?j.precedance=j.precedance===G?H:G:a!==Q&&k[d]&&(j[b]=j[b]===O?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===O?p[jb+"-"+b]=o[a]=g[jb+"-"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=E),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(" "),m=l[0],n=l[1]||l[0],o={left:E,top:E,x:0,y:0},p={};this.corner.fixed!==D&&(e(m,G,H,L,N),e(n,H,G,K,M),j.string()===i.corner.string()||i.cornerTop===k.top&&i.cornerLeft===k.left||this.update(j,E)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,(o.left=m===Q&&!!k.left)&&f(G,L,N),(o.top=n===Q&&!!k.top)&&f(H,K,M),this.element.css(p).toggle(!(o.x&&o.y||j.x===O&&o.y||j.y===O&&o.x)),d.left-=g.left.charAt?g.user:m!==Q||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==Q||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),ib=R.tip=function(a){return new w(a,a.options.style.tip)},ib.initialize="render",ib.sanitize=function(a){if(a.style&&"tip"in a.style){var b=a.style.tip;"object"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=D)}},B.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},d.extend(D,y.defaults,{style:{tip:{corner:D,mimic:E,width:6,height:6,border:D,offset:0}}}),R.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],m=v[a],t=w[a],u=c===Q,x=m===f?j:m===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=r[f]+s[f]-(o?0:n[f]),A=z-k,B=k+j-(h===I?p:q)-z,C=x-(v.precedance===a||m===v[b]?y:0)-(t===O?i/2:0);return u?(C=(m===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-n[f]+s[f],k-C,Math.min(Math.max(-n[f]+s[f]+(h===I?p:q),k+C),d[f],"center"===m?k-x:1e9))):(e*=c===P?2:0,A>0&&(m!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(m!==g||A>0)&&(d[f]-=(m===O?-C:C)+e,l.invert(a,g)),d[f]<r&&-d[f]>B&&(d[f]=k,l=v.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s,t=e.target,u=c.elements.tooltip,v=e.my,w=e.at,x=e.adjust,y=x.method.split(" "),z=y[0],A=y[1]||y[0],B=e.viewport,C=e.container,D=c.cache,F={left:0,top:0};return B.jquery&&t[0]!==a&&t[0]!==b.body&&"none"!==x.method?(n=C.offset()||F,o="static"===C.css("position"),k="fixed"===u.css("position"),p=B[0]===a?B.width():B.outerWidth(E),q=B[0]===a?B.height():B.outerHeight(E),r={left:k?0:B.scrollLeft(),top:k?0:B.scrollTop()},s=B.offset()||F,("shift"!==z||"shift"!==A)&&(l=v.clone()),F={left:"none"!==z?j(G,H,z,x.x,L,N,I,f,h):0,top:"none"!==A?j(H,G,A,x.y,K,M,J,g,i):0},l&&D.lastClass!==(m=S+"-pos-"+l.abbrev())&&u.removeClass(c.cache.lastClass).addClass(c.cache.lastClass=m),F):F},R.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:E},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]<f.position.left&&(f.position.left=c[0]),c[1]>f.position.bottom&&(f.position.bottom=c[1]),c[1]<f.position.top&&(f.position.top=c[1]),h.push(c);if(d=f.width=Math.abs(f.position.right-f.position.left),e=f.height=Math.abs(f.position.bottom-f.position.top),"c"===b.abbrev())f.position={left:f.position.left+f.width/2,top:f.position.top+f.height/2};else{for(;d>0&&e>0&&i>0&&j>0;)for(d=Math.floor(d/2),e=Math.floor(e/2),b.x===L?i=d:b.x===N?i=f.width-d:i+=Math.floor(d/2),b.y===K?j=e:b.y===M?j=f.height-e:j+=Math.floor(e/2),g=h.length;g--&&!(h.length<2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===L&&k>=i||b.x===N&&i>=k||b.x===O&&(i>k||k>f.width-i)||b.y===K&&l>=j||b.y===M&&j>=l||b.y===O&&(j>l||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=R.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:E}},circle:function(a,b,c,d){return R.polys.ellipse(a,b,c,c,d)}},R.imagemap=function(a,b,c){b.jquery||(b=d(b));var e,f,g,h,i,j=b.attr("shape").toLowerCase().replace("poly","polygon"),k=d('img[usemap="#'+b.parent("map").attr("name")+'"]'),l=d.trim(b.attr("coords")),m=l.replace(/,$/,"").split(",");if(!k.length)return E;if("polygon"===j)h=R.polys.polygon(m,c);else{if(!R.polys[j])return E;for(g=-1,i=m.length,f=[];++g<i;)f.push(parseInt(m[g],10));h=R.polys[j].apply(this,f.concat(c))}return e=k.offset(),e.left+=Math.ceil((k.outerWidth(E)-k.width())/2),e.top+=Math.ceil((k.outerHeight(E)-k.height())/2),h.position.left+=e.left,h.position.top+=e.top,h},R.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o,p,q=d(b),r=c[0],s=d(r.ownerSVGElement),t=1,u=1,v=!0;!r.getBBox;)r=r.parentNode;if(!r.getBBox||!r.parentNode)return E;f=s.attr("width")||s.width()||parseInt(s.css("width"),10),g=s.attr("height")||s.height()||parseInt(s.css("height"),10);var w=(parseInt(c.css("stroke-width"),10)||0)/2;switch(w&&(t+=w/f,u+=w/g),r.nodeName){case"ellipse":case"circle":o=R.polys.ellipse(r.cx.baseVal.value,r.cy.baseVal.value,(r.rx||r.r).baseVal.value+w,(r.ry||r.r).baseVal.value+w,e);break;case"line":case"polygon":case"polyline":for(n=r.points||[{x:r.x1.baseVal.value,y:r.y1.baseVal.value},{x:r.x2.baseVal.value,y:r.y2.baseVal.value}],o=[],m=-1,k=n.numberOfItems||n.length;++m<k;)l=n.getItem?n.getItem(m):n[m],o.push.apply(o,[l.x,l.y]);o=R.polys.polygon(o,e);break;default:o=r.getBoundingClientRect(),o={width:o.width,height:o.height,position:{left:o.left,top:o.top}},v=!1}return p=o.position,s=s[0],v&&(s.createSVGPoint&&(h=r.getScreenCTM(),n=s.createSVGPoint(),n.x=p.left,n.y=p.top,i=n.matrixTransform(h),p.left=i.x,p.top=i.y),s.viewBox&&(j=s.viewBox.baseVal)&&j.width&&j.height&&(t*=f/j.width,u*=g/j.height)),p.left+=q.scrollLeft(),p.top+=q.scrollTop(),o};var xb,yb,zb="qtip-modal",Ab="."+zb;yb=function(){function a(a){if(d.expr[":"].focusable)return d.expr[":"].focusable;var b,c,e,f=!isNaN(d.attr(a,"tabindex")),g=a.nodeName&&a.nodeName.toLowerCase();return"area"===g?(b=a.parentNode,c=b.name,a.href&&c&&"map"===b.nodeName.toLowerCase()?(e=d("img[usemap=#"+c+"]")[0],!!e&&e.is(":visible")):!1):/input|select|textarea|button|object/.test(g)?!a.disabled:"a"===g?a.href||f:f}function c(a){k.length<1&&a.length?a.not("body").blur():k.first().focus()}function e(a){if(i.is(":visible")){var b,e=d(a.target),h=f.tooltip,j=e.closest(W);b=j.length<1?E:parseInt(j[0].style.zIndex,10)>parseInt(h[0].style.zIndex,10),b||e.closest(W)[0]===h[0]||c(e),g=a.target===k[k.length-1]}}var f,g,h,i,j=this,k={};d.extend(j,{init:function(){return i=j.elem=d("<div />",{id:"qtip-overlay",html:"<div></div>",mousedown:function(){return E}}).hide(),d(b.body).bind("focusin"+Ab,e),d(b).bind("keydown"+Ab,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),i.bind("click"+Ab,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),j},update:function(b){f=b,k=b.options.show.modal.stealfocus!==E?b.tooltip.find("*").filter(function(){return a(this)}):[]},toggle:function(a,e,g){var k=(d(b.body),a.tooltip),l=a.options.show.modal,m=l.effect,n=e?"show":"hide",o=i.is(":visible"),p=d(Ab).filter(":visible:not(:animated)").not(k);return j.update(a),e&&l.stealfocus!==E&&c(d(":focus")),i.toggleClass("blurs",l.blur),e&&i.appendTo(b.body),i.is(":animated")&&o===e&&h!==E||!e&&p.length?j:(i.stop(D,E),d.isFunction(m)?m.call(i,e):m===E?i[n]():i.fadeTo(parseInt(g,10)||90,e?1:0,function(){e||i.hide()}),e||i.queue(function(a){i.css({left:"",top:""}),d(Ab).length||i.detach(),a()}),h=e,f.destroyed&&(f=F),j)}}),j.init()},yb=new yb,d.extend(x.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=yb.elem,b.addClass(zb).css("z-index",y.modal_zindex+d(Ab).length),a._bind(b,["tooltipshow","tooltiphide"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&"tooltiphide"===a.type&&/mouse(leave|enter)/.test(f.type)&&d(f.relatedTarget).closest(yb.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&"tooltipsolo"!==f.type)&&this.toggle(a,"tooltipshow"===a.type,e)},this._ns,this),a._bind(b,"tooltipfocus",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(Ab),f=y.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);yb.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter("."+$).qtip("blur",a.originalEvent),b.addClass($)[0].style.zIndex=f,yb.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),a._bind(b,"tooltiphide",function(a){a.target===b[0]&&d(Ab).filter(":visible").not(b).last().qtip("focus",a)},this._ns,this),void 0):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:(yb.toggle(this.qtip,!!b,c),void 0)},destroy:function(){this.qtip.tooltip.removeClass(zb),this.qtip._unbind(this.qtip.tooltip,this._ns),yb.toggle(this.qtip,E),delete this.qtip.elements.overlay}}),xb=R.modal=function(a){return new x(a,a.options.show.modal)},xb.sanitize=function(a){a.show&&("object"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:"undefined"==typeof a.show.modal.on&&(a.show.modal.on=D))},y.modal_zindex=y.zindex-200,xb.initialize="render",B.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(D,y.defaults,{show:{modal:{on:E,effect:D,blur:D,stealfocus:D,escape:D}}})})}(window,document);
 
 
 
 
admin/includes/tooltips/jquery.qtip.min.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"/var/www/qtip2/build/tmp/tmp-11954r9wgiyo/jquery.qtip.min.js","sources":["/var/www/qtip2/build/tmp/tmp-11954r9wgiyo/jquery.qtip.js"],"names":["window","document","undefined","factory","define","amd","jQuery","fn","qtip","$","QTip","target","options","id","attr","this","tooltip","NULL","elements","_id","NAMESPACE","timers","img","plugins","cache","event","disabled","FALSE","onTooltip","lastClass","rendered","destroyed","waiting","hiddenDuringWait","positioning","triggering","invalidOpt","a","type","invalidContent","c","isFunction","length","jquery","then","sanitizeOptions","opts","content","text","ajax","once","metadata","done","api","loading","deferred","extend","context","success","error","set","xhr","status","title","button","position","my","at","show","TRUE","ready","hide","style","classes","each","PLUGINS","sanitize","convertNotation","notation","obj","i","option","levels","split","pop","setCallback","args","category","rule","match","checks","RegExp","exec","push","apply","createWidgetClass","cls","WIDGET","concat","join","cloneEvent","pageX","pageY","relatedTarget","scrollX","pageXOffset","body","scrollLeft","documentElement","scrollY","pageYOffset","scrollTop","delay","callback","duration","setTimeout","proxy","call","showMethod","hasClass","CLASS_DISABLED","clearTimeout","toggle","hideMethod","ontoTooltip","closest","SELECTOR","ontoTarget","fixed","test","preventDefault","stopImmediatePropagation","e","inactiveMethod","inactive","repositionMethod","offsetWidth","reposition","delegate","selector","events","method","ns","QTIP","ATTR_ID","arguments","init","elem","posOptions","config","docBody","newTarget","metadata5","name","html5","data","parseJSON","defaults","container","solo","viewport","eq","CORNER","overwrite","ATTR_HAS","suppress","removeAttr","oldtitle","one","destroy","camel","s","charAt","toUpperCase","slice","vendorCss","prop","cur","val","ucProp","props","cssPrefixes","cssProps","css","intCss","Math","ceil","parseFloat","Tip","_ns","offset","size","width","height","Modal","PROTOTYPE","CHECKS","trackingBound","X","Y","WIDTH","HEIGHT","TOP","LEFT","BOTTOM","RIGHT","CENTER","FLIPINVERT","SHIFT","INACTIVE_EVENTS","CLASS_FIXED","CLASS_DEFAULT","CLASS_FOCUS","CLASS_HOVER","replaceSuffix","BROWSER","ie","v","div","createElement","innerHTML","getElementsByTagName","NaN","iOS","navigator","userAgent","replace","prototype","_when","deferreds","when","render","self","class","abbrev","tracking","adjust","mouse","role","aria-live","aria-atomic","aria-describedby","aria-hidden","toggleClass","appendTo","append","_createTitle","_updateTitle","_createButton","_updateContent","_setWidget","instance","initialize","_unassignEvents","_assignEvents","_trigger","immediate","process","stop","find","remove","end","removeData","_unbind","builtin","^id$","o","prev","nextid","new_id","^prerender","^content.text$","^content.attr$","^content.title$","_removeTitle","^content.button$","_updateButton","^content.title.(text|button)$","^position.(my|at)$","^position.container$","^show.ready$","^style.classes$","p","removeClass","addClass","^style.(width|height)","^style.widget|content.title","^style.def","^events.(render|show|move|hide|focus|blur)$","^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)","get","toLowerCase","result","precedance","string","rmove","rrender","value","previous","nodeType","_update","element","empty","display","visibility","html","_waitForContent","images","imagesLoaded","Deferred","resolve","promise","titlebar","widget","insertBefore","substr","effect","pluginCalculations","tooltipWidth","outerWidth","tooltipHeight","outerHeight","targetWidth","targetHeight","left","top","visible","isScroll","win","doc","ownerDocument","isArray","x","y","distance","origin","innerWidth","clientWidth","innerHeight","imagemap","is","svg","ownerSVGElement","adjustable","adjusted","isNaN","queue","next","opacity","removeAttribute","pos","scroll","scrolled","parentOffset","overflow","quirks","compatMode","parent","getBoundingClientRect","offsetParent","C","Corner","corner","forceY","f","invert","z","center","clone","state","add","has","identicalState","allow","after","contentOptions","animate","sameTarget","search","focus","bind","_storeMouse","not","Event","unbind","blur","autofocus","trigger","n","fadeTo","qtips","curIndex","parseInt","zIndex","newIndex","zindex","filter","disable","enable","isString","close","aria-label","prepend","click","on","def","_bind","targets","suffix","currentTarget","originalEvent","isDefaultPrevented","_bindEvents","showEvents","hideEvents","showTarget","hideTarget","toggleEvents","map","showIndex","inArray","splice","_assignInitialEvents","hoverIntent","trim","onTarget","prerender","containerTarget","viewportTarget","documentTarget","windowTarget","leave","nodeName","indexOf","enabled","isAncestor","parents","inactiveEvents","limit","abs","resize","special","pushStack","grep","newValue","command","returned","makeArray","timeStamp","isPlainObject","keepData","elems","func","old","ui","cleanData","triggerHandler","version","move","hidden","TIP","MARGIN","BORDER","COLOR","BG_COLOR","TRANSPARENT","IMPORTANT","HASCANVAS","getContext","INVALID","PIXEL_RATIO","devicePixelRatio","BACKING_STORE_RATIO","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","SCALE","createVML","tag","tip","prependTo","lineJoin","miterLimit","save","stopPropagation","create","_swapDimensions","_resetDimensions","_useTitle","_parseCorner","_parseWidth","side","use","_parseRadius","_invalidColour","compare","_parseColours","borderSide","colorElem","color","_calculateSize","bigHyp","ratio","isCenter","base","pow","round","smallHyp","sqrt","hyp","border","reverse","_calculateTip","scale","width2","height2","tips","br","bl","tr","tl","tc","bc","rc","lc","lt","rt","lb","rb","_drawCoords","coords","beginPath","moveTo","lineTo","closePath","update","bigCoords","translate","newSize","inner","children","curSize","mimic","lineHeight","restore","clearRect","fillStyle","fill","coordsize","antialias","Number","$this","path","fillcolor","filled","stroked","opera","calculate","corners","userOffset","b","max","margin","bottom","right","shiftflip","direction","popposite","opposite","newCorner","shiftonly","xy","shift","horizontal","vertical","cornerTop","cornerLeft","user","^position.my|style.tip.(corner|mimic|border)$","^style.tip.(height|width)$","^content.title|style.(classes|widget)$","elemWidth","elemHeight","otherSide","side1","side2","lengthName","targetLength","elemLength","initialPos","mySide","atSide","isShift","myLength","atLength","sideOffset","viewportScroll","viewportOffset","containerStatic","containerOffset","overflow1","overflow2","viewportWidth","viewportHeight","min","newMy","newClass","methodX","methodY","polys","polygon","baseCoords","newWidth","newHeight","compareX","compareY","realX","realY","floor","rect","ax","ay","bx","by","_angles","ellipse","cx","cy","rx","ry","rxc","cos","PI","rys","sin","circle","r","area","imageOffset","len","shape","image","coordsString","coordsArray","rootWidth","rootHeight","mtx","transformed","viewBox","points","root","xScale","yScale","complex","getBBox","parentNode","strokeWidth2","baseVal","x1","y1","x2","y2","numberOfItems","getItem","createSVGPoint","getScreenCTM","matrixTransform","MODAL","OVERLAY","MODALCLASS","MODALSELECTOR","focusable","expr","mapName","isTabIndexNotNaN","href","focusInputs","blurElems","focusableElems","first","stealFocus","targetOnTop","current","onLast","prevState","mousedown","modal","escape","keyCode","stealfocus","visibleModals","detach","overlay","modal_zindex","oEvent","last","^show.modal.(on|blur)$"],"mappings":"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"}
 
admin/views/admin-widget.php DELETED
@@ -1,61 +0,0 @@
1
- <?php
2
- /**
3
- * Represents the admin view for Google Maps Builder widget.
4
- * *
5
- * @package Google_Maps_Builder
6
- * @author Devin Walker <devin@wordimpress.com>
7
- * @license GPL-2.0+
8
- * @link http://wordimpress.com
9
- * @copyright 2014 WordImpress, Devin Walker
10
- */
11
-
12
- ?>
13
- <!-- Title -->
14
- <p>
15
- <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Widget Title', $this->plugin_slug ); ?></label>
16
- <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>" />
17
- </p>
18
-
19
-
20
- <!-- API Options -->
21
- <p class="widget-api-option">
22
- <label for="<?php echo $this->get_field_id( 'api_option' ); ?>"><?php _e( 'API Request Method:', $this->plugin_slug ); ?></label><br />
23
- <span class="wpgp-method-span place-details-api-option-wrap">
24
- <input type="radio" name="<?php echo $this->get_field_name( 'api_option' ); ?>" class="<?php echo $this->get_field_id( 'api_option' ); ?> " value="0" <?php checked( '0', $api_option ); ?>><span class="wpgp-method-label"><?php _e( 'Place Details', $this->plugin_slug ); ?></span><img src="<?php echo GMB_PLUGIN_URL . '/admin/assets/img/help.png' ?>" title="<?php _e( 'Google Place Details allows you to display more details about a particular establishment. This method returns more comprehensive information about the indicated place such as its complete address, phone number, user rating and reviews.', $this->plugin_slug ); ?>" class="tooltip-info" width="16" height="16" /><br />
25
- </span>
26
- <span class="wpgp-method-span place-search-api-option-wrap">
27
- <input type="radio" name="<?php echo $this->get_field_name( 'api_option' ); ?>" class="<?php echo $this->get_field_id( 'api_option' ); ?> business-api-option" value="1" <?php checked( '1', $api_option ); ?>><span class="wpgp-method-label"><?php _e( 'Place Search', $this->plugin_slug ); ?></span><img src="<?php echo GMB_PLUGIN_URL . '/admin/assets/img/help.png' ?>" title="<?php _e( 'This option allows you to query for place information on a variety of categories, such as: establishments, prominent points of interest, geographic locations, and more. You can search for places either by proximity or a text string. A Place Search returns a list of Places along with summary information about each Place; additional information is available via a Place Details query.', $this->plugin_slug ); ?>" class="tooltip-info" width="16" height="16" />
28
- </span>
29
- </p>
30
-
31
- <!-- Google Places Lookup Autocomplete Search Form -->
32
- <div class="google-autocomplete-map-wrap" <?php if ( $api_option == '0' ) { ?> style="display:block;" <?php } ?>>
33
- <input class="pac-input controls" type="text" placeholder="Enter a location">
34
-
35
- <div class="map-canvas"></div>
36
-
37
- <div class="type-selector controls">
38
- <ul class="map-control-list clearfix">
39
- <li>
40
- <input type="radio" name="type" id="changetype-all" checked="checked">
41
- <label for="changetype-all"><?php _e( 'All' ); ?></label>
42
- </li>
43
- <li>
44
- <input type="radio" name="type" id="changetype-establishment">
45
- <label for="changetype-establishment"><?php _e( 'Establishments' ); ?></label>
46
- </li>
47
- <li>
48
- <input type="radio" name="type" id="changetype-geocode">
49
- <label for="changetype-geocode"><?php _e( 'Geocodes' ); ?></label>
50
- </li>
51
- </ul>
52
- </div>
53
-
54
-
55
- <input class="widefat place-detail-reference" id="<?php echo $this->get_field_id( 'place_detail_reference' ); ?>" name="<?php echo $this->get_field_name( 'place_detail_reference' ); ?>" type="text" value="<?php echo $place_detail_reference; ?>" />
56
-
57
- </div>
58
-
59
- <div class="widget-footer">
60
- <div class="powered-by-google"></div>
61
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/index.php DELETED
@@ -1 +0,0 @@
1
- <?php // Silence is golden
 
admin/views/logo-svg-small.php DELETED
@@ -1,33 +0,0 @@
1
- <?php
2
- /**
3
- * LOGO SVG
4
- *
5
- * @package Google_Maps_Builder
6
- * @author Devin Walker <devin@wordimpress.com>
7
- * @license GPL-2.0+
8
- * @link http://wordimpress.com
9
- * @copyright 2014 WordImpress, Devin Walker
10
- */
11
- ?>
12
-
13
- <svg height="35px" id="Layer_1" style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="35px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="flat_x5F_8">
14
- <g>
15
- <path d="M424.574,447.998l-25.471-6.039l77.041-316.293c-11.028-18.652-24.314-35.824-39.56-51.053 l-19.13,78.383L202.053,101.92L226.582,1.405c-19.051,2.152-37.457,6.407-55.006,12.514L152.948,90.28L77.144,72.303 c-13.296,12.945-25.186,27.313-35.437,42.88l99.446,23.58L85.485,367.595l-67.161-15.896c8.636,21.324,20.039,41.22,33.805,59.239 l21.566,5.14l-3.812,15.668c12.955,13.675,27.366,25.967,43.053,36.515l9.862-40.541l245.086,58.11 C388.496,475.764,407.523,462.987,424.574,447.998z M190.26,150.403l215.405,51.075l-55.666,228.84l-215.405-51.081 L190.26,150.403z" style="fill:#FFF8A3;" />
16
- <path d="M417.456,152.996l-40.345-9.564l-41.879,41.348l70.433,16.699l-55.666,228.84l-212.431-50.377 l-60.126,59.369c10.944,10.652,22.775,20.396,35.497,28.951l9.862-40.541l245.086,58.111 c20.608-10.068,39.637-22.846,56.688-37.834l-25.471-6.039l77.041-316.293c-9.802-16.58-21.396-31.982-34.558-45.895l-8.246,8.143 L417.456,152.996z" style="fill:#E1D78F;" />
17
- <g>
18
- <path d="M69.887,431.748l3.812-15.668l-21.566-5.141C57.67,418.198,63.612,425.135,69.887,431.748z" style="fill:#AAC26F;" />
19
- <path d="M-0.344,255.718c0,33.956,6.664,66.331,18.67,95.981l67.161,15.896l55.668-228.832l-99.446-23.58 C15.153,155.528-0.344,203.8-0.344,255.718z" style="fill:#AAC26F;" />
20
- <path d="M255.657-0.283c-9.836,0-19.527,0.611-29.074,1.688L202.054,101.92l215.402,51.075l19.13-78.382 C390.268,28.338,326.307-0.283,255.657-0.283z" style="fill:#AAC26F;" />
21
- <path d="M152.949,90.28l18.628-76.361c-35.746,12.424-67.882,32.539-94.432,58.386L152.949,90.28z" style="fill:#AAC26F;" />
22
- </g>
23
- <polygon points="134.594,379.237 349.999,430.318 405.665,201.479 190.26,150.403 " style="fill:#6AAFDA;" />
24
- <g>
25
- <path d="M112.939,468.262c40.778,27.436,89.875,43.455,142.718,43.455 c40.263,0,78.341-9.322,112.229-25.885l-245.085-58.111L112.939,468.262z" style="fill:#5E9CC1;" />
26
- <polygon points="405.665,201.479 335.232,184.779 137.568,379.941 349.999,430.318 " style="fill:#5E9CC1;" />
27
- </g>
28
- <path d="M511.656,255.718c0-47.491-12.975-91.925-35.512-130.052l-77.041,316.293l25.471,6.039 C477.936,401.082,511.656,332.359,511.656,255.718z" style="fill:#C6A963;" />
29
- <path d="M497.996,113.431c0,48.554-67.83,190.112-89.042,190.112c-20.666,0-89.044-141.56-89.044-190.112 c0-48.554,39.865-87.915,89.044-87.915C458.131,25.516,497.996,64.877,497.996,113.431z" style="fill:#F05D4A;" />
30
- <path d="M454.284,115.528c0-24.716-20.296-44.749-45.33-44.749c-25.033,0-45.33,20.033-45.33,44.749 c0,24.719,20.297,44.758,45.33,44.758C433.988,160.284,454.284,140.246,454.284,115.528z" style="fill:#BD4231;" />
31
- </g>
32
- </g>
33
- <g id="Layer_1_1_" /></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/logo-svg.php DELETED
@@ -1,34 +0,0 @@
1
- <?php
2
- /**
3
- * LOGO SVG
4
-
5
- *
6
- * @package Google_Maps_Builder
7
- * @author Devin Walker <devin@wordimpress.com>
8
- * @license GPL-2.0+
9
- * @link http://wordimpress.com
10
- * @copyright 2014 WordImpress, Devin Walker
11
- */
12
- ?>
13
-
14
- <svg height="200px" id="Layer_1" style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="200px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="flat_x5F_8">
15
- <g>
16
- <path d="M424.574,447.998l-25.471-6.039l77.041-316.293c-11.028-18.652-24.314-35.824-39.56-51.053 l-19.13,78.383L202.053,101.92L226.582,1.405c-19.051,2.152-37.457,6.407-55.006,12.514L152.948,90.28L77.144,72.303 c-13.296,12.945-25.186,27.313-35.437,42.88l99.446,23.58L85.485,367.595l-67.161-15.896c8.636,21.324,20.039,41.22,33.805,59.239 l21.566,5.14l-3.812,15.668c12.955,13.675,27.366,25.967,43.053,36.515l9.862-40.541l245.086,58.11 C388.496,475.764,407.523,462.987,424.574,447.998z M190.26,150.403l215.405,51.075l-55.666,228.84l-215.405-51.081 L190.26,150.403z" style="fill:#FFF8A3;" />
17
- <path d="M417.456,152.996l-40.345-9.564l-41.879,41.348l70.433,16.699l-55.666,228.84l-212.431-50.377 l-60.126,59.369c10.944,10.652,22.775,20.396,35.497,28.951l9.862-40.541l245.086,58.111 c20.608-10.068,39.637-22.846,56.688-37.834l-25.471-6.039l77.041-316.293c-9.802-16.58-21.396-31.982-34.558-45.895l-8.246,8.143 L417.456,152.996z" style="fill:#E1D78F;" />
18
- <g>
19
- <path d="M69.887,431.748l3.812-15.668l-21.566-5.141C57.67,418.198,63.612,425.135,69.887,431.748z" style="fill:#AAC26F;" />
20
- <path d="M-0.344,255.718c0,33.956,6.664,66.331,18.67,95.981l67.161,15.896l55.668-228.832l-99.446-23.58 C15.153,155.528-0.344,203.8-0.344,255.718z" style="fill:#AAC26F;" />
21
- <path d="M255.657-0.283c-9.836,0-19.527,0.611-29.074,1.688L202.054,101.92l215.402,51.075l19.13-78.382 C390.268,28.338,326.307-0.283,255.657-0.283z" style="fill:#AAC26F;" />
22
- <path d="M152.949,90.28l18.628-76.361c-35.746,12.424-67.882,32.539-94.432,58.386L152.949,90.28z" style="fill:#AAC26F;" />
23
- </g>
24
- <polygon points="134.594,379.237 349.999,430.318 405.665,201.479 190.26,150.403 " style="fill:#6AAFDA;" />
25
- <g>
26
- <path d="M112.939,468.262c40.778,27.436,89.875,43.455,142.718,43.455 c40.263,0,78.341-9.322,112.229-25.885l-245.085-58.111L112.939,468.262z" style="fill:#5E9CC1;" />
27
- <polygon points="405.665,201.479 335.232,184.779 137.568,379.941 349.999,430.318 " style="fill:#5E9CC1;" />
28
- </g>
29
- <path d="M511.656,255.718c0-47.491-12.975-91.925-35.512-130.052l-77.041,316.293l25.471,6.039 C477.936,401.082,511.656,332.359,511.656,255.718z" style="fill:#C6A963;" />
30
- <path d="M497.996,113.431c0,48.554-67.83,190.112-89.042,190.112c-20.666,0-89.044-141.56-89.044-190.112 c0-48.554,39.865-87.915,89.044-87.915C458.131,25.516,497.996,64.877,497.996,113.431z" style="fill:#F05D4A;" />
31
- <path d="M454.284,115.528c0-24.716-20.296-44.749-45.33-44.749c-25.033,0-45.33,20.033-45.33,44.749 c0,24.719,20.297,44.758,45.33,44.758C433.988,160.284,454.284,140.246,454.284,115.528z" style="fill:#BD4231;" />
32
- </g>
33
- </g>
34
- <g id="Layer_1_1_" /></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/markers.php DELETED
@@ -1,224 +0,0 @@
1
- <?php
2
- /**
3
- * Markers
4
- *
5
- * @description: Appears in modal
6
- * @since :
7
- * @created : 4/29/14
8
- */
9
- ?>
10
-
11
- <div id="marker-icon-modal" style="display:none;">
12
-
13
- <div class="marker-description clear">
14
- <p><?php _e( 'Customize your Google Maps markers by selecting a marker graphic and icon. Integration made possible from the excellent Maps Icon library.', $this->plugin_slug ); ?></p>
15
- </div>
16
-
17
- <div class="marker-row clear">
18
- <h3><?php _e( 'Step 1: Select a Marker', $this->plugin_slug ); ?></h3>
19
-
20
- <div class="marker-item" data-marker="MAP_PIN">
21
- <div class="marker-svg">
22
- <svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px" height="50px" viewBox="0 0 100 165" enable-background="new 0 0 100 165" xml:space="preserve"><path fill="#428BCA" d="M50,0C22.382,0,0,21.966,0,49.054C0,76.151,50,165,50,165s50-88.849,50-115.946C100,21.966,77.605,0,50,0z"></path>
23
- </svg>
24
- </div>
25
- <div class="marker-description"><?php _e( 'Map Pin', $this->plugin_slug ); ?></div>
26
- </div>
27
-
28
- <div class="marker-item" data-marker="SQUARE_PIN">
29
- <div class="marker-svg">
30
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px" height="50px" viewBox="0 0 100 120" enable-background="new 0 0 100 120" xml:space="preserve"><polygon fill="#428BCA" points="100,0 0,0 0,100 36.768,100 50.199,119.876 63.63,100 100,100 "></polygon></svg>
31
- </div>
32
- <div class="marker-description"><?php _e( 'Square Pin', $this->plugin_slug ); ?></div>
33
- </div>
34
- <div class="marker-item" data-marker="default">
35
- <div class="marker-svg">
36
- <img src="<?php echo GMB_PLUGIN_URL . '/public/assets/img/default-marker.png' ?>" class="default-marker" />
37
- </div>
38
- <div class="marker-description"><?php _e( 'Default', $this->plugin_slug ); ?></div>
39
- </div>
40
-
41
- </div>
42
-
43
- <div class="marker-icon-color-wrap clear">
44
-
45
- <div class="marker-color-picker-wrap"><input type="text" name="color" id="color" value="#428BCA" class="color-picker marker-color" />
46
- </div>
47
- <p class="color-desc"><?php _e( 'Customize the marker color?', $this->plugin_slug ); ?></p>
48
-
49
- </div>
50
-
51
-
52
- <div class="marker-icon-row clear">
53
- <h3><?php _e( 'Step 2: Select a Marker Icon', $this->plugin_slug ); ?></h3>
54
-
55
- <div class="icon">
56
- <div class="icon-inner">
57
- <span class="map-icon-art-gallery"></span>
58
- art-gallery
59
- </div>
60
- </div>
61
- <div class="icon">
62
- <div class="icon-inner">
63
- <span class="map-icon-campground"></span>
64
- campground
65
- </div>
66
- </div>
67
- <div class="icon">
68
- <div class="icon-inner">
69
- <span class="map-icon-bank"></span>
70
- bank
71
- </div>
72
- </div>
73
- <div class="icon">
74
- <div class="icon-inner">
75
- <span class="map-icon-hair-care"></span>
76
- hair-care
77
- </div>
78
- </div>
79
- <div class="icon">
80
- <div class="icon-inner">
81
- <span class="map-icon-gym"></span>
82
- gym
83
- </div>
84
- </div>
85
- <div class="icon">
86
- <div class="icon-inner">
87
- <span class="map-icon-point-of-interest"></span>
88
- point-of-interest
89
- </div>
90
- </div>
91
- <div class="icon">
92
- <div class="icon-inner">
93
- <span class="map-icon-post-box"></span>
94
- post-box
95
- </div>
96
- </div>
97
- <div class="icon">
98
- <div class="icon-inner">
99
- <span class="map-icon-post-office"></span>
100
- post-office
101
- </div>
102
- </div>
103
- <div class="icon">
104
- <div class="icon-inner">
105
- <span class="map-icon-university"></span>
106
- university
107
- </div>
108
- </div>
109
- <div class="icon">
110
- <div class="icon-inner">
111
- <span class="map-icon-beauty-salon"></span>
112
- beauty-salon
113
- </div>
114
- </div>
115
- <div class="icon">
116
- <div class="icon-inner">
117
- <span class="map-icon-atm"></span>
118
- atm
119
- </div>
120
- </div>
121
- <div class="icon">
122
- <div class="icon-inner">
123
- <span class="map-icon-rv-park"></span>
124
- rv-park
125
- </div>
126
- </div>
127
- <div class="icon">
128
- <div class="icon-inner">
129
- <span class="map-icon-school"></span>
130
- school
131
- </div>
132
- </div>
133
- <div class="icon">
134
- <div class="icon-inner">
135
- <span class="map-icon-library"></span>
136
- library
137
- </div>
138
- </div>
139
- <div class="icon">
140
- <div class="icon-inner">
141
- <span class="map-icon-spa"></span>
142
- spa
143
- </div>
144
- </div>
145
- <div class="icon">
146
- <div class="icon-inner">
147
- <span class="map-icon-route"></span>
148
- route
149
- </div>
150
- </div>
151
- <div class="icon">
152
- <div class="icon-inner">
153
- <span class="map-icon-postal-code"></span>
154
- postal-code
155
- </div>
156
- </div>
157
- <div class="icon">
158
- <div class="icon-inner">
159
- <span class="map-icon-stadium"></span>
160
- stadium
161
- </div>
162
- </div>
163
- <div class="icon">
164
- <div class="icon-inner">
165
- <span class="map-icon-postal-code-prefix"></span>
166
- postal-code-prefix
167
- </div>
168
- </div>
169
- <div class="icon">
170
- <div class="icon-inner">
171
- <span class="map-icon-museum"></span>
172
- museum
173
- </div>
174
- </div>
175
- <div class="icon">
176
- <div class="icon-inner">
177
- <span class="map-icon-finance"></span>
178
- finance
179
- </div>
180
- </div>
181
- <div class="icon">
182
- <div class="icon-inner">
183
- <span class="map-icon-natural-feature"></span>
184
- natural-feature
185
- </div>
186
- </div>
187
- <div class="icon">
188
- <div class="icon-inner">
189
- <span class="map-icon-funeral-home"></span>
190
- funeral-home
191
- </div>
192
- </div>
193
- <div class="icon">
194
- <div class="icon-inner">
195
- <span class="map-icon-cemetery"></span>
196
- cemetery
197
- </div>
198
- </div>
199
- <div class="icon">
200
- <div class="icon-inner">
201
- <span class="map-icon-park"></span>
202
- park
203
- </div>
204
- </div>
205
- <div class="icon">
206
- <div class="icon-inner">
207
- <span class="map-icon-lodging"></span>
208
- lodging
209
- </div>
210
- </div>
211
- </div>
212
- <!--/.marker-icon-row -->
213
-
214
- <div class="marker-label-color-wrap clear">
215
- <div class="marker-color-picker-wrap"><input type="text" name="color" id="color" class="color-picker label-color" value="#444444" /></div>
216
- <p class="color-desc"><?php _e( 'Customize the icon color?', $this->plugin_slug ); ?></p>
217
- </div>
218
-
219
- <div class="save-marker-icon clear">
220
- <p class="save-text"><?php _e( 'Marker is ready to be set.', $this->plugin_slug ); ?></p>
221
- <button class="button button-primary button-large save-marker-button" data-marker="" data-marker-color="#428BCA" data-label="" data-label-color="#FFFFFF" data-marker-index="">Set Marker</button>
222
- </div>
223
-
224
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/settings-page.php DELETED
@@ -1,86 +0,0 @@
1
- <?php
2
- /**
3
- * Represents the view for the administration dashboard.
4
- *
5
- * This includes the header, options, and other information that should provide
6
- * The User Interface to the end user.
7
- *
8
- * @package Google_Maps_Builder
9
- * @author Devin Walker <devin@wordimpress.com>
10
- * @license GPL-2.0+
11
- * @link http://wordimpress.com
12
- * @copyright 2014 WordImpress, Devin Walker
13
- */
14
-
15
- ?>
16
-
17
- <div class="wrap">
18
-
19
- <?php global $current_user;
20
- $user_id = $current_user->ID;
21
- // Check that the user hasn't already clicked to ignore the welcome message and that they have appropriate permissions
22
- if ( ! get_user_meta( $user_id, 'gmb_hide_welcome' ) && current_user_can( 'install_plugins' ) ) {
23
- ?>
24
- <div class="container welcome-header">
25
- <div class="row">
26
-
27
- <div class="col-md-9">
28
- <h1 class="main-heading"><?php _e( 'Welcome to Google Maps Builder', $this->plugin_slug ); ?> <?php echo $this->meta['Version']; ?></h1>
29
-
30
- <p class="main-subheading"><?php _e( 'Thanks for using Google Maps Builder', $this->plugin_slug ); ?> <?php echo $this->meta['Version']; ?>. <?php _e( 'To get started, read over the documentation, take a gander at the settings, and build yourself some maps! If you enjoy this plugin please consider telling a friend, following us or purchasing the Pro edition (coming soon!).', $this->plugin_slug ); ?></p>
31
- <?php include( 'social-media.php' ); ?>
32
-
33
- </div>
34
-
35
- <div class="col-md-3">
36
- <div class="logo-svg">
37
- <?php include( 'logo-svg.php' ); ?>
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
-
43
- <?php } ?>
44
-
45
- <div class="logo-svg logo-svg-small pull-left" <?php echo( ! get_user_meta( $user_id, 'gmb_hide_welcome' ) ?
46
- 'style="display:none;"' : '' ); ?>>
47
- <div class="gmb-plugin-heading">Google Maps Builder <?php echo $this->meta['Version']; ?></div>
48
- <?php include( 'logo-svg-small.php' ); ?>
49
- </div>
50
-
51
-
52
- <?php
53
- /**
54
- * Option tabs
55
- *
56
- * Better organize our options in tabs
57
- *
58
- * @see: http://code.tutsplus.com/tutorials/the-complete-guide-to-the-wordpress-settings-api-part-5-tabbed-navigation-for-your-settings-page--wp-24971
59
- */
60
- $active_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : 'map_options';
61
- ?>
62
- <h2 class="nav-tab-wrapper">
63
- <a href="?post_type=google_maps&page=<?php echo self::$key; ?>" class="nav-tab <?php echo $active_tab == 'map_options' ? 'nav-tab-active' : ''; ?>"><?php _e( 'Map Options', $this->plugin_slug ); ?></a>
64
- <a href="?post_type=google_maps&page=<?php echo self::$key; ?>&tab=general_settings" class="nav-tab <?php echo $active_tab == 'general_settings' ? 'nav-tab-active' : ''; ?>"><?php _e( 'General Options', $this->plugin_slug ); ?></a>
65
- </h2>
66
-
67
-
68
- <?php
69
- /**
70
- * Get the appropriate tab
71
- */
72
- switch ( $active_tab ) {
73
- case 'map_options':
74
- include( 'tab-map-options.php' );
75
- break;
76
- case 'general_settings':
77
- include( 'tab-general-settings.php' );
78
- break;
79
- default :
80
- include( 'tab-map-options.php' );
81
- break;
82
- }
83
- ?>
84
-
85
-
86
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/social-media.php DELETED
@@ -1,45 +0,0 @@
1
- <div class="adminFacebook">
2
- <div class="social-items-wrap">
3
- <div class="fb-item-wrap">
4
- <iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2FWordImpress%2F353658958080509&amp;send=false&amp;layout=button_count&amp;width=100&amp;show_faces=false&amp;font&amp;colorscheme=light&amp;action=like&amp;height=21&amp;appId=220596284639969" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>
5
- </div>
6
- <div class="twitter-item-wrap">
7
- <a href="https://twitter.com/wordimpress" class="twitter-follow-button" data-show-count="false">Follow @wordimpress</a>
8
- <script>!function ( d, s, id ) {
9
- var js, fjs = d.getElementsByTagName( s )[0], p = /^http:/.test( d.location ) ? 'http' : 'https';
10
- if ( !d.getElementById( id ) ) {
11
- js = d.createElement( s );
12
- js.id = id;
13
- js.src = p + '://platform.twitter.com/widgets.js';
14
- fjs.parentNode.insertBefore( js, fjs );
15
- }
16
- }( document, 'script', 'twitter-wjs' );</script>
17
- </div>
18
- <div class="google-plus">
19
- <!-- Place this tag where you want the +1 button to render. -->
20
- <div class="g-plusone" data-size="medium" data-annotation="inline" data-width="200" data-href="https://plus.google.com/117062083910623146392"></div>
21
-
22
-
23
- <!-- Place this tag after the last +1 button tag. -->
24
- <script type="text/javascript">
25
- (function () {
26
- var po = document.createElement( 'script' );
27
- po.type = 'text/javascript';
28
- po.async = true;
29
- po.src = 'https://apis.google.com/js/plusone.js';
30
- var s = document.getElementsByTagName( 'script' )[0];
31
- s.parentNode.insertBefore( po, s );
32
- })();
33
- </script>
34
- </div>
35
- <!--/.google-plus -->
36
- </div>
37
- <!-- /.social-items-wrap -->
38
-
39
- <div class="wordimpress-logo">
40
- <a href="http://wordimpress.com" title="<?php _e( 'Visit the Developers site of Google Maps Builder', $this->plugin_slug ); ?>" target="_blank" class="logo-link"></a>
41
- </div>
42
-
43
- <a href="#" class="hide-welcome" title="<?php _e( 'Hide the Google Maps Builder Welcome Message', $this->plugin_slug ); ?>"><?php _e( 'Hide Welcome', $this->plugin_slug ); ?><span></span></a>
44
-
45
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/gmb-admin.css ADDED
@@ -0,0 +1,2688 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Admin SCSS/CSS
3
+ *
4
+ * @description: The Main SCSS file for admin styles which is compiled and minified via Gulp taskrunner
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+ /* Mixin */
11
+ /* Magnific Popup CSS */
12
+ .mfp-bg {
13
+ top: 0;
14
+ left: 0;
15
+ width: 100%;
16
+ height: 100%;
17
+ z-index: 100000;
18
+ overflow: hidden;
19
+ position: fixed;
20
+ background: #0b0b0b;
21
+ opacity: 0.8;
22
+ filter: alpha(opacity=80); }
23
+
24
+ .mfp-wrap {
25
+ top: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ height: 100%;
29
+ z-index: 100001;
30
+ position: fixed;
31
+ outline: none !important;
32
+ -webkit-backface-visibility: hidden; }
33
+
34
+ .mfp-container {
35
+ text-align: center;
36
+ position: absolute;
37
+ width: 100%;
38
+ height: 100%;
39
+ left: 0;
40
+ top: 0;
41
+ padding: 0;
42
+ -webkit-box-sizing: border-box;
43
+ -moz-box-sizing: border-box;
44
+ box-sizing: border-box; }
45
+
46
+ .mfp-container:before {
47
+ content: '';
48
+ display: inline-block;
49
+ height: 100%;
50
+ vertical-align: middle; }
51
+
52
+ .mfp-align-top .mfp-container:before {
53
+ display: none; }
54
+
55
+ .mfp-content {
56
+ position: relative;
57
+ display: inline-block;
58
+ vertical-align: middle;
59
+ margin: 0 auto;
60
+ text-align: left;
61
+ z-index: 100003;
62
+ box-sizing: border-box; }
63
+
64
+ .mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
65
+ width: 100%;
66
+ cursor: auto; }
67
+
68
+ .mfp-ajax-cur {
69
+ cursor: progress; }
70
+
71
+ .mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
72
+ cursor: -moz-zoom-out;
73
+ cursor: -webkit-zoom-out;
74
+ cursor: zoom-out; }
75
+
76
+ .mfp-zoom {
77
+ cursor: pointer;
78
+ cursor: -webkit-zoom-in;
79
+ cursor: -moz-zoom-in;
80
+ cursor: zoom-in; }
81
+
82
+ .mfp-auto-cursor .mfp-content {
83
+ cursor: auto; }
84
+
85
+ .mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
86
+ -webkit-user-select: none;
87
+ -moz-user-select: none;
88
+ user-select: none; }
89
+
90
+ .mfp-loading.mfp-figure {
91
+ display: none; }
92
+
93
+ .mfp-hide {
94
+ display: none !important; }
95
+
96
+ .mfp-preloader {
97
+ color: #CCC;
98
+ position: absolute;
99
+ top: 50%;
100
+ width: auto;
101
+ text-align: center;
102
+ margin-top: -0.8em;
103
+ left: 8px;
104
+ right: 8px;
105
+ z-index: 100004; }
106
+
107
+ .mfp-preloader a {
108
+ color: #CCC; }
109
+
110
+ .mfp-preloader a:hover {
111
+ color: #FFF; }
112
+
113
+ .mfp-s-ready .mfp-preloader {
114
+ display: none; }
115
+
116
+ .mfp-s-error .mfp-content {
117
+ display: none; }
118
+
119
+ button.mfp-close, button.mfp-arrow {
120
+ overflow: visible;
121
+ cursor: pointer;
122
+ background: transparent;
123
+ border: 0;
124
+ -webkit-appearance: none;
125
+ display: block;
126
+ outline: none;
127
+ padding: 0;
128
+ z-index: 100005;
129
+ -webkit-box-shadow: none;
130
+ box-shadow: none; }
131
+
132
+ button::-moz-focus-inner {
133
+ padding: 0;
134
+ border: 0; }
135
+
136
+ .mfp-close, button.gmb-modal-close {
137
+ width: 44px;
138
+ height: 44px;
139
+ line-height: 44px;
140
+ position: absolute;
141
+ right: 0;
142
+ top: 0;
143
+ text-decoration: none;
144
+ text-align: center;
145
+ opacity: 0.65;
146
+ filter: alpha(opacity=65);
147
+ padding: 0 0 18px 10px;
148
+ color: #FFF;
149
+ font-style: normal;
150
+ font-size: 28px;
151
+ font-family: Arial, Baskerville, monospace; }
152
+
153
+ .mfp-close:hover, .mfp-close:focus, button.gmb-modal-close:hover, button.gmb-modal-close:focus {
154
+ opacity: 1;
155
+ filter: alpha(opacity=100); }
156
+
157
+ .mfp-close:active {
158
+ top: 1px; }
159
+
160
+ .mfp-close-btn-in .mfp-close {
161
+ color: #333; }
162
+
163
+ .mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
164
+ color: #FFF;
165
+ right: -6px;
166
+ text-align: right;
167
+ padding-right: 6px;
168
+ width: 100%; }
169
+
170
+ .mfp-counter {
171
+ position: absolute;
172
+ top: 0;
173
+ right: 0;
174
+ color: #CCC;
175
+ font-size: 12px;
176
+ line-height: 18px;
177
+ white-space: nowrap; }
178
+
179
+ .mfp-arrow {
180
+ position: absolute;
181
+ opacity: 0.65;
182
+ filter: alpha(opacity=65);
183
+ margin: 0;
184
+ top: 50%;
185
+ margin-top: -55px;
186
+ padding: 0;
187
+ width: 90px;
188
+ height: 110px;
189
+ -webkit-tap-highlight-color: transparent; }
190
+
191
+ .mfp-arrow:active {
192
+ margin-top: -54px; }
193
+
194
+ .mfp-arrow:hover, .mfp-arrow:focus {
195
+ opacity: 1;
196
+ filter: alpha(opacity=100); }
197
+
198
+ .mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
199
+ content: '';
200
+ display: block;
201
+ width: 0;
202
+ height: 0;
203
+ position: absolute;
204
+ left: 0;
205
+ top: 0;
206
+ margin-top: 35px;
207
+ margin-left: 35px;
208
+ border: medium inset transparent; }
209
+
210
+ .mfp-arrow:after, .mfp-arrow .mfp-a {
211
+ border-top-width: 13px;
212
+ border-bottom-width: 13px;
213
+ top: 8px; }
214
+
215
+ .mfp-arrow:before, .mfp-arrow .mfp-b {
216
+ border-top-width: 21px;
217
+ border-bottom-width: 21px;
218
+ opacity: 0.7; }
219
+
220
+ .mfp-arrow-left {
221
+ left: 0; }
222
+
223
+ .mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
224
+ border-right: 17px solid #FFF;
225
+ margin-left: 31px; }
226
+
227
+ .mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
228
+ margin-left: 25px;
229
+ border-right: 27px solid #3F3F3F; }
230
+
231
+ .mfp-arrow-right {
232
+ right: 0; }
233
+
234
+ .mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
235
+ border-left: 17px solid #FFF;
236
+ margin-left: 39px; }
237
+
238
+ .mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
239
+ border-left: 27px solid #3F3F3F; }
240
+
241
+ .mfp-iframe-holder {
242
+ padding-top: 40px;
243
+ padding-bottom: 40px; }
244
+
245
+ .mfp-iframe-holder .mfp-content {
246
+ line-height: 0;
247
+ width: 100%;
248
+ max-width: 900px; }
249
+
250
+ .mfp-iframe-holder .mfp-close {
251
+ top: -40px; }
252
+
253
+ .mfp-iframe-scaler {
254
+ width: 100%;
255
+ height: 0;
256
+ overflow: hidden;
257
+ padding-top: 56.25%; }
258
+
259
+ .mfp-iframe-scaler iframe {
260
+ position: absolute;
261
+ display: block;
262
+ top: 0;
263
+ left: 0;
264
+ width: 100%;
265
+ height: 100%;
266
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
267
+ background: #000; }
268
+
269
+ /* Main image in popup */
270
+ img.mfp-img {
271
+ width: auto;
272
+ max-width: 100%;
273
+ height: auto;
274
+ display: block;
275
+ line-height: 0;
276
+ -webkit-box-sizing: border-box;
277
+ -moz-box-sizing: border-box;
278
+ box-sizing: border-box;
279
+ padding: 40px 0 40px;
280
+ margin: 0 auto; }
281
+
282
+ /* The shadow behind the image */
283
+ .mfp-figure {
284
+ line-height: 0; }
285
+
286
+ .mfp-figure:after {
287
+ content: '';
288
+ position: absolute;
289
+ left: 0;
290
+ top: 40px;
291
+ bottom: 40px;
292
+ display: block;
293
+ right: 0;
294
+ width: auto;
295
+ height: auto;
296
+ z-index: -1;
297
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
298
+ background: #444; }
299
+
300
+ .mfp-figure small {
301
+ color: #BDBDBD;
302
+ display: block;
303
+ font-size: 12px;
304
+ line-height: 14px; }
305
+
306
+ .mfp-figure figure {
307
+ margin: 0; }
308
+
309
+ .mfp-bottom-bar {
310
+ margin-top: -36px;
311
+ position: absolute;
312
+ top: 100%;
313
+ left: 0;
314
+ width: 100%;
315
+ cursor: auto; }
316
+
317
+ .mfp-title {
318
+ text-align: left;
319
+ line-height: 18px;
320
+ color: #F3F3F3;
321
+ word-wrap: break-word;
322
+ padding-right: 36px; }
323
+
324
+ .mfp-image-holder .mfp-content {
325
+ max-width: 100%; }
326
+
327
+ .mfp-gallery .mfp-image-holder .mfp-figure {
328
+ cursor: pointer; }
329
+
330
+ @media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
331
+ /**
332
+ * Remove all paddings around the image on small screen
333
+ */
334
+ .mfp-img-mobile .mfp-image-holder {
335
+ padding-left: 0;
336
+ padding-right: 0; }
337
+ .mfp-img-mobile img.mfp-img {
338
+ padding: 0; }
339
+ .mfp-img-mobile .mfp-figure:after {
340
+ top: 0;
341
+ bottom: 0; }
342
+ .mfp-img-mobile .mfp-figure small {
343
+ display: inline;
344
+ margin-left: 5px; }
345
+ .mfp-img-mobile .mfp-bottom-bar {
346
+ background: rgba(0, 0, 0, 0.6);
347
+ bottom: 0;
348
+ margin: 0;
349
+ top: auto;
350
+ padding: 3px 5px;
351
+ position: fixed;
352
+ -webkit-box-sizing: border-box;
353
+ -moz-box-sizing: border-box;
354
+ box-sizing: border-box; }
355
+ .mfp-img-mobile .mfp-bottom-bar:empty {
356
+ padding: 0; }
357
+ .mfp-img-mobile .mfp-counter {
358
+ right: 5px;
359
+ top: 3px; }
360
+ .mfp-img-mobile .mfp-close {
361
+ top: 0;
362
+ right: 0;
363
+ width: 35px;
364
+ height: 35px;
365
+ line-height: 35px;
366
+ background: rgba(0, 0, 0, 0.6);
367
+ position: fixed;
368
+ text-align: center;
369
+ padding: 0; } }
370
+
371
+ @media all and (max-width: 900px) {
372
+ .mfp-arrow {
373
+ -webkit-transform: scale(0.75);
374
+ transform: scale(0.75); }
375
+ .mfp-arrow-left {
376
+ -webkit-transform-origin: 0;
377
+ transform-origin: 0; }
378
+ .mfp-arrow-right {
379
+ -webkit-transform-origin: 100%;
380
+ transform-origin: 100%; }
381
+ .mfp-container {
382
+ padding: 0; } }
383
+
384
+ .mfp-ie7 .mfp-img {
385
+ padding: 0; }
386
+
387
+ .mfp-ie7 .mfp-bottom-bar {
388
+ width: 600px;
389
+ left: 50%;
390
+ margin-left: -300px;
391
+ margin-top: 5px;
392
+ padding-bottom: 5px; }
393
+
394
+ .mfp-ie7 .mfp-container {
395
+ padding: 0; }
396
+
397
+ .mfp-ie7 .mfp-content {
398
+ padding-top: 44px; }
399
+
400
+ .mfp-ie7 .mfp-close {
401
+ top: 0;
402
+ right: 0;
403
+ padding-top: 0; }
404
+
405
+ .white-popup {
406
+ position: relative;
407
+ background: #FFF;
408
+ padding: 20px;
409
+ width: auto;
410
+ max-width: 600px;
411
+ margin: 20px auto; }
412
+ .white-popup:after {
413
+ content: "";
414
+ display: table;
415
+ clear: both; }
416
+
417
+ .white-popup.marker-icon-modal {
418
+ padding-bottom: 50px; }
419
+
420
+ * {
421
+ -webkit-box-sizing: border-box;
422
+ -moz-box-sizing: border-box;
423
+ box-sizing: border-box; }
424
+
425
+ .clearfix:before, .clearfix:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after {
426
+ content: " ";
427
+ display: table; }
428
+
429
+ .container {
430
+ padding-left: 15px;
431
+ padding-right: 15px; }
432
+
433
+ @media (min-width: 768px) {
434
+ .container {
435
+ width: 750px; } }
436
+
437
+ @media (min-width: 992px) {
438
+ .container {
439
+ width: 970px; } }
440
+
441
+ @media (min-width: 1200px) {
442
+ .container {
443
+ width: 1170px; } }
444
+
445
+ .container-fluid {
446
+ margin-right: auto;
447
+ margin-left: auto;
448
+ padding-left: 15px;
449
+ padding-right: 15px; }
450
+
451
+ .row {
452
+ margin-left: -15px;
453
+ margin-right: -15px; }
454
+
455
+ .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
456
+ position: relative;
457
+ min-height: 1px;
458
+ padding-left: 15px;
459
+ padding-right: 15px; }
460
+
461
+ .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
462
+ float: left; }
463
+
464
+ .col-xs-12 {
465
+ width: 100%; }
466
+
467
+ .col-xs-11 {
468
+ width: 91.66667%; }
469
+
470
+ .col-xs-10 {
471
+ width: 83.33333%; }
472
+
473
+ .col-xs-9 {
474
+ width: 75%; }
475
+
476
+ .col-xs-8 {
477
+ width: 66.66667%; }
478
+
479
+ .col-xs-7 {
480
+ width: 58.33333%; }
481
+
482
+ .col-xs-6 {
483
+ width: 50%; }
484
+
485
+ .col-xs-5 {
486
+ width: 41.66667%; }
487
+
488
+ .col-xs-4 {
489
+ width: 33.33333%; }
490
+
491
+ .col-xs-3 {
492
+ width: 25%; }
493
+
494
+ .col-xs-2 {
495
+ width: 16.66667%; }
496
+
497
+ .col-xs-1 {
498
+ width: 8.33333%; }
499
+
500
+ .col-xs-pull-12 {
501
+ right: 100%; }
502
+
503
+ .col-xs-pull-11 {
504
+ right: 91.66667%; }
505
+
506
+ .col-xs-pull-10 {
507
+ right: 83.33333%; }
508
+
509
+ .col-xs-pull-9 {
510
+ right: 75%; }
511
+
512
+ .col-xs-pull-8 {
513
+ right: 66.66667%; }
514
+
515
+ .col-xs-pull-7 {
516
+ right: 58.33333%; }
517
+
518
+ .col-xs-pull-6 {
519
+ right: 50%; }
520
+
521
+ .col-xs-pull-5 {
522
+ right: 41.66667%; }
523
+
524
+ .col-xs-pull-4 {
525
+ right: 33.33333%; }
526
+
527
+ .col-xs-pull-3 {
528
+ right: 25%; }
529
+
530
+ .col-xs-pull-2 {
531
+ right: 16.66667%; }
532
+
533
+ .col-xs-pull-1 {
534
+ right: 8.33333%; }
535
+
536
+ .col-xs-pull-0 {
537
+ right: 0%; }
538
+
539
+ .col-xs-push-12 {
540
+ left: 100%; }
541
+
542
+ .col-xs-push-11 {
543
+ left: 91.66667%; }
544
+
545
+ .col-xs-push-10 {
546
+ left: 83.33333%; }
547
+
548
+ .col-xs-push-9 {
549
+ left: 75%; }
550
+
551
+ .col-xs-push-8 {
552
+ left: 66.66667%; }
553
+
554
+ .col-xs-push-7 {
555
+ left: 58.33333%; }
556
+
557
+ .col-xs-push-6 {
558
+ left: 50%; }
559
+
560
+ .col-xs-push-5 {
561
+ left: 41.66667%; }
562
+
563
+ .col-xs-push-4 {
564
+ left: 33.33333%; }
565
+
566
+ .col-xs-push-3 {
567
+ left: 25%; }
568
+
569
+ .col-xs-push-2 {
570
+ left: 16.66667%; }
571
+
572
+ .col-xs-push-1 {
573
+ left: 8.33333%; }
574
+
575
+ .col-xs-push-0 {
576
+ left: 0%; }
577
+
578
+ .col-xs-offset-12 {
579
+ margin-left: 100%; }
580
+
581
+ .col-xs-offset-11 {
582
+ margin-left: 91.66667%; }
583
+
584
+ .col-xs-offset-10 {
585
+ margin-left: 83.33333%; }
586
+
587
+ .col-xs-offset-9 {
588
+ margin-left: 75%; }
589
+
590
+ .col-xs-offset-8 {
591
+ margin-left: 66.66667%; }
592
+
593
+ .col-xs-offset-7 {
594
+ margin-left: 58.33333%; }
595
+
596
+ .col-xs-offset-6 {
597
+ margin-left: 50%; }
598
+
599
+ .col-xs-offset-5 {
600
+ margin-left: 41.66667%; }
601
+
602
+ .col-xs-offset-4 {
603
+ margin-left: 33.33333%; }
604
+
605
+ .col-xs-offset-3 {
606
+ margin-left: 25%; }
607
+
608
+ .col-xs-offset-2 {
609
+ margin-left: 16.66667%; }
610
+
611
+ .col-xs-offset-1 {
612
+ margin-left: 8.33333%; }
613
+
614
+ .col-xs-offset-0 {
615
+ margin-left: 0%; }
616
+
617
+ @media (min-width: 768px) {
618
+ .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
619
+ float: left; }
620
+ .col-sm-12 {
621
+ width: 100%; }
622
+ .col-sm-11 {
623
+ width: 91.66667%; }
624
+ .col-sm-10 {
625
+ width: 83.33333%; }
626
+ .col-sm-9 {
627
+ width: 75%; }
628
+ .col-sm-8 {
629
+ width: 66.66667%; }
630
+ .col-sm-7 {
631
+ width: 58.33333%; }
632
+ .col-sm-6 {
633
+ width: 50%; }
634
+ .col-sm-5 {
635
+ width: 41.66667%; }
636
+ .col-sm-4 {
637
+ width: 33.33333%; }
638
+ .col-sm-3 {
639
+ width: 25%; }
640
+ .col-sm-2 {
641
+ width: 16.66667%; }
642
+ .col-sm-1 {
643
+ width: 8.33333%; }
644
+ .col-sm-pull-12 {
645
+ right: 100%; }
646
+ .col-sm-pull-11 {
647
+ right: 91.66667%; }
648
+ .col-sm-pull-10 {
649
+ right: 83.33333%; }
650
+ .col-sm-pull-9 {
651
+ right: 75%; }
652
+ .col-sm-pull-8 {
653
+ right: 66.66667%; }
654
+ .col-sm-pull-7 {
655
+ right: 58.33333%; }
656
+ .col-sm-pull-6 {
657
+ right: 50%; }
658
+ .col-sm-pull-5 {
659
+ right: 41.66667%; }
660
+ .col-sm-pull-4 {
661
+ right: 33.33333%; }
662
+ .col-sm-pull-3 {
663
+ right: 25%; }
664
+ .col-sm-pull-2 {
665
+ right: 16.66667%; }
666
+ .col-sm-pull-1 {
667
+ right: 8.33333%; }
668
+ .col-sm-pull-0 {
669
+ right: 0%; }
670
+ .col-sm-push-12 {
671
+ left: 100%; }
672
+ .col-sm-push-11 {
673
+ left: 91.66667%; }
674
+ .col-sm-push-10 {
675
+ left: 83.33333%; }
676
+ .col-sm-push-9 {
677
+ left: 75%; }
678
+ .col-sm-push-8 {
679
+ left: 66.66667%; }
680
+ .col-sm-push-7 {
681
+ left: 58.33333%; }
682
+ .col-sm-push-6 {
683
+ left: 50%; }
684
+ .col-sm-push-5 {
685
+ left: 41.66667%; }
686
+ .col-sm-push-4 {
687
+ left: 33.33333%; }
688
+ .col-sm-push-3 {
689
+ left: 25%; }
690
+ .col-sm-push-2 {
691
+ left: 16.66667%; }
692
+ .col-sm-push-1 {
693
+ left: 8.33333%; }
694
+ .col-sm-push-0 {
695
+ left: 0%; }
696
+ .col-sm-offset-12 {
697
+ margin-left: 100%; }
698
+ .col-sm-offset-11 {
699
+ margin-left: 91.66667%; }
700
+ .col-sm-offset-10 {
701
+ margin-left: 83.33333%; }
702
+ .col-sm-offset-9 {
703
+ margin-left: 75%; }
704
+ .col-sm-offset-8 {
705
+ margin-left: 66.66667%; }
706
+ .col-sm-offset-7 {
707
+ margin-left: 58.33333%; }
708
+ .col-sm-offset-6 {
709
+ margin-left: 50%; }
710
+ .col-sm-offset-5 {
711
+ margin-left: 41.66667%; }
712
+ .col-sm-offset-4 {
713
+ margin-left: 33.33333%; }
714
+ .col-sm-offset-3 {
715
+ margin-left: 25%; }
716
+ .col-sm-offset-2 {
717
+ margin-left: 16.66667%; }
718
+ .col-sm-offset-1 {
719
+ margin-left: 8.33333%; }
720
+ .col-sm-offset-0 {
721
+ margin-left: 0%; } }
722
+
723
+ @media (min-width: 992px) {
724
+ .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
725
+ float: left; }
726
+ .col-md-12 {
727
+ width: 100%; }
728
+ .col-md-11 {
729
+ width: 91.66667%; }
730
+ .col-md-10 {
731
+ width: 83.33333%; }
732
+ .col-md-9 {
733
+ width: 75%; }
734
+ .col-md-8 {
735
+ width: 66.66667%; }
736
+ .col-md-7 {
737
+ width: 58.33333%; }
738
+ .col-md-6 {
739
+ width: 50%; }
740
+ .col-md-5 {
741
+ width: 41.66667%; }
742
+ .col-md-4 {
743
+ width: 33.33333%; }
744
+ .col-md-3 {
745
+ width: 25%; }
746
+ .col-md-2 {
747
+ width: 16.66667%; }
748
+ .col-md-1 {
749
+ width: 8.33333%; }
750
+ .col-md-pull-12 {
751
+ right: 100%; }
752
+ .col-md-pull-11 {
753
+ right: 91.66667%; }
754
+ .col-md-pull-10 {
755
+ right: 83.33333%; }
756
+ .col-md-pull-9 {
757
+ right: 75%; }
758
+ .col-md-pull-8 {
759
+ right: 66.66667%; }
760
+ .col-md-pull-7 {
761
+ right: 58.33333%; }
762
+ .col-md-pull-6 {
763
+ right: 50%; }
764
+ .col-md-pull-5 {
765
+ right: 41.66667%; }
766
+ .col-md-pull-4 {
767
+ right: 33.33333%; }
768
+ .col-md-pull-3 {
769
+ right: 25%; }
770
+ .col-md-pull-2 {
771
+ right: 16.66667%; }
772
+ .col-md-pull-1 {
773
+ right: 8.33333%; }
774
+ .col-md-pull-0 {
775
+ right: 0%; }
776
+ .col-md-push-12 {
777
+ left: 100%; }
778
+ .col-md-push-11 {
779
+ left: 91.66667%; }
780
+ .col-md-push-10 {
781
+ left: 83.33333%; }
782
+ .col-md-push-9 {
783
+ left: 75%; }
784
+ .col-md-push-8 {
785
+ left: 66.66667%; }
786
+ .col-md-push-7 {
787
+ left: 58.33333%; }
788
+ .col-md-push-6 {
789
+ left: 50%; }
790
+ .col-md-push-5 {
791
+ left: 41.66667%; }
792
+ .col-md-push-4 {
793
+ left: 33.33333%; }
794
+ .col-md-push-3 {
795
+ left: 25%; }
796
+ .col-md-push-2 {
797
+ left: 16.66667%; }
798
+ .col-md-push-1 {
799
+ left: 8.33333%; }
800
+ .col-md-push-0 {
801
+ left: 0%; }
802
+ .col-md-offset-12 {
803
+ margin-left: 100%; }
804
+ .col-md-offset-11 {
805
+ margin-left: 91.66667%; }
806
+ .col-md-offset-10 {
807
+ margin-left: 83.33333%; }
808
+ .col-md-offset-9 {
809
+ margin-left: 75%; }
810
+ .col-md-offset-8 {
811
+ margin-left: 66.66667%; }
812
+ .col-md-offset-7 {
813
+ margin-left: 58.33333%; }
814
+ .col-md-offset-6 {
815
+ margin-left: 50%; }
816
+ .col-md-offset-5 {
817
+ margin-left: 41.66667%; }
818
+ .col-md-offset-4 {
819
+ margin-left: 33.33333%; }
820
+ .col-md-offset-3 {
821
+ margin-left: 25%; }
822
+ .col-md-offset-2 {
823
+ margin-left: 16.66667%; }
824
+ .col-md-offset-1 {
825
+ margin-left: 8.33333%; }
826
+ .col-md-offset-0 {
827
+ margin-left: 0%; } }
828
+
829
+ @media (min-width: 1200px) {
830
+ .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
831
+ float: left; }
832
+ .col-lg-12 {
833
+ width: 100%; }
834
+ .col-lg-11 {
835
+ width: 91.66667%; }
836
+ .col-lg-10 {
837
+ width: 83.33333%; }
838
+ .col-lg-9 {
839
+ width: 75%; }
840
+ .col-lg-8 {
841
+ width: 66.66667%; }
842
+ .col-lg-7 {
843
+ width: 58.33333%; }
844
+ .col-lg-6 {
845
+ width: 50%; }
846
+ .col-lg-5 {
847
+ width: 41.66667%; }
848
+ .col-lg-4 {
849
+ width: 33.33333%; }
850
+ .col-lg-3 {
851
+ width: 25%; }
852
+ .col-lg-2 {
853
+ width: 16.66667%; }
854
+ .col-lg-1 {
855
+ width: 8.33333%; }
856
+ .col-lg-pull-12 {
857
+ right: 100%; }
858
+ .col-lg-pull-11 {
859
+ right: 91.66667%; }
860
+ .col-lg-pull-10 {
861
+ right: 83.33333%; }
862
+ .col-lg-pull-9 {
863
+ right: 75%; }
864
+ .col-lg-pull-8 {
865
+ right: 66.66667%; }
866
+ .col-lg-pull-7 {
867
+ right: 58.33333%; }
868
+ .col-lg-pull-6 {
869
+ right: 50%; }
870
+ .col-lg-pull-5 {
871
+ right: 41.66667%; }
872
+ .col-lg-pull-4 {
873
+ right: 33.33333%; }
874
+ .col-lg-pull-3 {
875
+ right: 25%; }
876
+ .col-lg-pull-2 {
877
+ right: 16.66667%; }
878
+ .col-lg-pull-1 {
879
+ right: 8.33333%; }
880
+ .col-lg-pull-0 {
881
+ right: 0%; }
882
+ .col-lg-push-12 {
883
+ left: 100%; }
884
+ .col-lg-push-11 {
885
+ left: 91.66667%; }
886
+ .col-lg-push-10 {
887
+ left: 83.33333%; }
888
+ .col-lg-push-9 {
889
+ left: 75%; }
890
+ .col-lg-push-8 {
891
+ left: 66.66667%; }
892
+ .col-lg-push-7 {
893
+ left: 58.33333%; }
894
+ .col-lg-push-6 {
895
+ left: 50%; }
896
+ .col-lg-push-5 {
897
+ left: 41.66667%; }
898
+ .col-lg-push-4 {
899
+ left: 33.33333%; }
900
+ .col-lg-push-3 {
901
+ left: 25%; }
902
+ .col-lg-push-2 {
903
+ left: 16.66667%; }
904
+ .col-lg-push-1 {
905
+ left: 8.33333%; }
906
+ .col-lg-push-0 {
907
+ left: 0%; }
908
+ .col-lg-offset-12 {
909
+ margin-left: 100%; }
910
+ .col-lg-offset-11 {
911
+ margin-left: 91.66667%; }
912
+ .col-lg-offset-10 {
913
+ margin-left: 83.33333%; }
914
+ .col-lg-offset-9 {
915
+ margin-left: 75%; }
916
+ .col-lg-offset-8 {
917
+ margin-left: 66.66667%; }
918
+ .col-lg-offset-7 {
919
+ margin-left: 58.33333%; }
920
+ .col-lg-offset-6 {
921
+ margin-left: 50%; }
922
+ .col-lg-offset-5 {
923
+ margin-left: 41.66667%; }
924
+ .col-lg-offset-4 {
925
+ margin-left: 33.33333%; }
926
+ .col-lg-offset-3 {
927
+ margin-left: 25%; }
928
+ .col-lg-offset-2 {
929
+ margin-left: 16.66667%; }
930
+ .col-lg-offset-1 {
931
+ margin-left: 8.33333%; }
932
+ .col-lg-offset-0 {
933
+ margin-left: 0%; } }
934
+
935
+ /*
936
+ * qTip2 - Pretty powerful tooltips - v2.2.0
937
+ * http://qtip2.com
938
+ *
939
+ * Copyright (c) 2014 Craig Michael Thompson
940
+ * Released under the MIT, GPL licenses
941
+ * http://jquery.org/license
942
+ *
943
+ * Date: Sun Mar 16 2014 07:12 EDT-0400
944
+ * Plugins: tips viewport imagemap svg modal
945
+ * Styles: css3
946
+ */
947
+ .qtip {
948
+ position: absolute;
949
+ left: -28000px;
950
+ top: -28000px;
951
+ display: none;
952
+ max-width: 280px;
953
+ min-width: 50px;
954
+ font-size: 10.5px;
955
+ line-height: 12px;
956
+ direction: ltr;
957
+ box-shadow: none;
958
+ padding: 0; }
959
+
960
+ .qtip-content {
961
+ position: relative;
962
+ padding: 5px 9px;
963
+ overflow: hidden;
964
+ text-align: left;
965
+ word-wrap: break-word; }
966
+
967
+ .qtip-titlebar {
968
+ position: relative;
969
+ padding: 5px 35px 5px 10px;
970
+ overflow: hidden;
971
+ border-width: 0 0 1px;
972
+ font-weight: bold; }
973
+
974
+ .qtip-titlebar + .qtip-content {
975
+ border-top-width: 0 !important; }
976
+
977
+ /* Default close button class */
978
+ .qtip-close {
979
+ position: absolute;
980
+ right: -9px;
981
+ top: -9px;
982
+ cursor: pointer;
983
+ outline: medium none;
984
+ border-width: 1px;
985
+ border-style: solid;
986
+ border-color: transparent; }
987
+
988
+ .qtip-titlebar .qtip-close {
989
+ right: 4px;
990
+ top: 50%;
991
+ margin-top: -9px; }
992
+
993
+ * html .qtip-titlebar .qtip-close {
994
+ top: 16px; }
995
+
996
+ /* IE fix */
997
+ .qtip-titlebar .ui-icon, .qtip-icon .ui-icon {
998
+ display: block;
999
+ text-indent: -1000em;
1000
+ direction: ltr; }
1001
+
1002
+ .qtip-icon, .qtip-icon .ui-icon {
1003
+ -moz-border-radius: 3px;
1004
+ -webkit-border-radius: 3px;
1005
+ border-radius: 3px;
1006
+ text-decoration: none; }
1007
+
1008
+ .qtip-icon .ui-icon {
1009
+ width: 18px;
1010
+ height: 14px;
1011
+ line-height: 14px;
1012
+ text-align: center;
1013
+ text-indent: 0;
1014
+ font: normal bold 10px/13px Tahoma, sans-serif;
1015
+ color: inherit;
1016
+ background: transparent none no-repeat -100em -100em; }
1017
+
1018
+ /* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */
1019
+ /* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */
1020
+ /* Default tooltip style */
1021
+ .qtip-default {
1022
+ border-width: 1px;
1023
+ border-style: solid;
1024
+ border-color: #F1D031;
1025
+ background-color: #FFFFA3;
1026
+ color: #555; }
1027
+
1028
+ .qtip-default .qtip-titlebar {
1029
+ background-color: #FFEF93; }
1030
+
1031
+ .qtip-default .qtip-icon {
1032
+ border-color: #CCC;
1033
+ background: #F1F1F1;
1034
+ color: #777; }
1035
+
1036
+ .qtip-default .qtip-titlebar .qtip-close {
1037
+ border-color: #AAA;
1038
+ color: #111; }
1039
+
1040
+ .qtip-shadow {
1041
+ -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
1042
+ -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
1043
+ box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); }
1044
+
1045
+ /* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */
1046
+ .qtip-rounded, .qtip-tipsy, .qtip-bootstrap {
1047
+ -moz-border-radius: 5px;
1048
+ -webkit-border-radius: 5px;
1049
+ border-radius: 5px; }
1050
+
1051
+ .qtip-rounded .qtip-titlebar {
1052
+ -moz-border-radius: 4px 4px 0 0;
1053
+ -webkit-border-radius: 4px 4px 0 0;
1054
+ border-radius: 4px 4px 0 0; }
1055
+
1056
+ /* Youtube tooltip style */
1057
+ .qtip-youtube {
1058
+ -moz-border-radius: 2px;
1059
+ -webkit-border-radius: 2px;
1060
+ border-radius: 2px;
1061
+ -webkit-box-shadow: 0 0 3px #333;
1062
+ -moz-box-shadow: 0 0 3px #333;
1063
+ box-shadow: 0 0 3px #333;
1064
+ color: white;
1065
+ border-width: 0;
1066
+ background: #4A4A4A;
1067
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #4A4A4A), color-stop(100%, black));
1068
+ background-image: -webkit-linear-gradient(top, #4A4A4A 0, black 100%);
1069
+ background-image: -moz-linear-gradient(top, #4A4A4A 0, black 100%);
1070
+ background-image: -ms-linear-gradient(top, #4A4A4A 0, black 100%);
1071
+ background-image: -o-linear-gradient(top, #4A4A4A 0, black 100%); }
1072
+
1073
+ .qtip-youtube .qtip-titlebar {
1074
+ background-color: #4A4A4A;
1075
+ background-color: transparent; }
1076
+
1077
+ .qtip-youtube .qtip-content {
1078
+ padding: .75em;
1079
+ font: 12px arial, sans-serif;
1080
+ filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);
1081
+ -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"; }
1082
+
1083
+ .qtip-youtube .qtip-icon {
1084
+ border-color: #222; }
1085
+
1086
+ .qtip-youtube .qtip-titlebar .ui-state-hover {
1087
+ border-color: #303030; }
1088
+
1089
+ /* jQuery TOOLS Tooltip style */
1090
+ .qtip-jtools {
1091
+ background: #232323;
1092
+ background: rgba(0, 0, 0, 0.7);
1093
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));
1094
+ background-image: -moz-linear-gradient(top, #717171, #232323);
1095
+ background-image: -webkit-linear-gradient(top, #717171, #232323);
1096
+ background-image: -ms-linear-gradient(top, #717171, #232323);
1097
+ background-image: -o-linear-gradient(top, #717171, #232323);
1098
+ border: 2px solid #ddd;
1099
+ border: 2px solid #f1f1f1;
1100
+ -moz-border-radius: 2px;
1101
+ -webkit-border-radius: 2px;
1102
+ border-radius: 2px;
1103
+ -webkit-box-shadow: 0 0 12px #333;
1104
+ -moz-box-shadow: 0 0 12px #333;
1105
+ box-shadow: 0 0 12px #333; }
1106
+
1107
+ /* IE Specific */
1108
+ .qtip-jtools .qtip-titlebar {
1109
+ background-color: transparent;
1110
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);
1111
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"; }
1112
+
1113
+ .qtip-jtools .qtip-content {
1114
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);
1115
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"; }
1116
+
1117
+ .qtip-jtools .qtip-titlebar, .qtip-jtools .qtip-content {
1118
+ background: transparent;
1119
+ color: white;
1120
+ border: 0 dashed transparent; }
1121
+
1122
+ .qtip-jtools .qtip-icon {
1123
+ border-color: #555; }
1124
+
1125
+ .qtip-jtools .qtip-titlebar .ui-state-hover {
1126
+ border-color: #333; }
1127
+
1128
+ /* Cluetip style */
1129
+ .qtip-cluetip {
1130
+ -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
1131
+ -moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
1132
+ box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
1133
+ background-color: #D9D9C2;
1134
+ color: #111;
1135
+ border: 0 dashed transparent; }
1136
+
1137
+ .qtip-cluetip .qtip-titlebar {
1138
+ background-color: #87876A;
1139
+ color: white;
1140
+ border: 0 dashed transparent; }
1141
+
1142
+ .qtip-cluetip .qtip-icon {
1143
+ border-color: #808064; }
1144
+
1145
+ .qtip-cluetip .qtip-titlebar .ui-state-hover {
1146
+ border-color: #696952;
1147
+ color: #696952; }
1148
+
1149
+ /* Tipsy style */
1150
+ .qtip-tipsy {
1151
+ background: black;
1152
+ background: rgba(0, 0, 0, 0.87);
1153
+ color: white;
1154
+ border: 0 solid transparent;
1155
+ font-size: 11px;
1156
+ font-family: 'Lucida Grande', sans-serif;
1157
+ font-weight: bold;
1158
+ line-height: 16px;
1159
+ text-shadow: 0 1px black; }
1160
+
1161
+ .qtip-tipsy .qtip-titlebar {
1162
+ padding: 6px 35px 0 10px;
1163
+ background-color: transparent; }
1164
+
1165
+ .qtip-tipsy .qtip-content {
1166
+ padding: 6px 10px; }
1167
+
1168
+ .qtip-tipsy .qtip-icon {
1169
+ border-color: #222;
1170
+ text-shadow: none; }
1171
+
1172
+ .qtip-tipsy .qtip-titlebar .ui-state-hover {
1173
+ border-color: #303030; }
1174
+
1175
+ /* Tipped style */
1176
+ .qtip-tipped {
1177
+ border: 3px solid #959FA9;
1178
+ -moz-border-radius: 3px;
1179
+ -webkit-border-radius: 3px;
1180
+ border-radius: 3px;
1181
+ background-color: #F9F9F9;
1182
+ color: #454545;
1183
+ font-weight: normal;
1184
+ font-family: serif; }
1185
+
1186
+ .qtip-tipped .qtip-titlebar {
1187
+ border-bottom-width: 0;
1188
+ color: white;
1189
+ background: #3A79B8;
1190
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));
1191
+ background-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);
1192
+ background-image: -moz-linear-gradient(top, #3A79B8, #2E629D);
1193
+ background-image: -ms-linear-gradient(top, #3A79B8, #2E629D);
1194
+ background-image: -o-linear-gradient(top, #3A79B8, #2E629D);
1195
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);
1196
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"; }
1197
+
1198
+ .qtip-tipped .qtip-icon {
1199
+ border: 2px solid #285589;
1200
+ background: #285589; }
1201
+
1202
+ .qtip-tipped .qtip-icon .ui-icon {
1203
+ background-color: #FBFBFB;
1204
+ color: #555; }
1205
+
1206
+ /**
1207
+ * Twitter Bootstrap style.
1208
+ *
1209
+ * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.
1210
+ * Does not work with IE 7.
1211
+ */
1212
+ .qtip-bootstrap {
1213
+ /** Taken from Bootstrap body */
1214
+ font-size: 14px;
1215
+ line-height: 20px;
1216
+ color: #333333;
1217
+ /** Taken from Bootstrap .popover */
1218
+ padding: 1px;
1219
+ background-color: #ffffff;
1220
+ border: 1px solid #ccc;
1221
+ border: 1px solid rgba(0, 0, 0, 0.2);
1222
+ -webkit-border-radius: 6px;
1223
+ -moz-border-radius: 6px;
1224
+ border-radius: 6px;
1225
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
1226
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
1227
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
1228
+ -webkit-background-clip: padding-box;
1229
+ -moz-background-clip: padding;
1230
+ background-clip: padding-box; }
1231
+
1232
+ .qtip-bootstrap .qtip-titlebar {
1233
+ /** Taken from Bootstrap .popover-title */
1234
+ padding: 8px 14px;
1235
+ margin: 0;
1236
+ font-size: 14px;
1237
+ font-weight: normal;
1238
+ line-height: 18px;
1239
+ background-color: #f7f7f7;
1240
+ border-bottom: 1px solid #ebebeb;
1241
+ -webkit-border-radius: 5px 5px 0 0;
1242
+ -moz-border-radius: 5px 5px 0 0;
1243
+ border-radius: 5px 5px 0 0; }
1244
+
1245
+ .qtip-bootstrap .qtip-titlebar .qtip-close {
1246
+ /**
1247
+ * Overrides qTip2:
1248
+ * .qtip-titlebar .qtip-close{
1249
+ * [...]
1250
+ * right: 4px;
1251
+ * top: 50%;
1252
+ * [...]
1253
+ * border-style: solid;
1254
+ * }
1255
+ */
1256
+ right: 11px;
1257
+ top: 45%;
1258
+ border-style: none; }
1259
+
1260
+ .qtip-bootstrap .qtip-content {
1261
+ /** Taken from Bootstrap .popover-content */
1262
+ padding: 9px 14px; }
1263
+
1264
+ .qtip-bootstrap .qtip-icon {
1265
+ /**
1266
+ * Overrides qTip2:
1267
+ * .qtip-default .qtip-icon {
1268
+ * border-color: #CCC;
1269
+ * background: #F1F1F1;
1270
+ * color: #777;
1271
+ * }
1272
+ */
1273
+ background: transparent; }
1274
+
1275
+ .qtip-bootstrap .qtip-icon .ui-icon {
1276
+ /**
1277
+ * Overrides qTip2:
1278
+ * .qtip-icon .ui-icon{
1279
+ * width: 18px;
1280
+ * height: 14px;
1281
+ * }
1282
+ */
1283
+ width: auto;
1284
+ height: auto;
1285
+ /* Taken from Bootstrap .close */
1286
+ float: right;
1287
+ font-size: 20px;
1288
+ font-weight: bold;
1289
+ line-height: 18px;
1290
+ color: #000000;
1291
+ text-shadow: 0 1px 0 #ffffff;
1292
+ opacity: 0.2;
1293
+ filter: alpha(opacity=20); }
1294
+
1295
+ .qtip-bootstrap .qtip-icon .ui-icon:hover {
1296
+ /* Taken from Bootstrap .close:hover */
1297
+ color: #000000;
1298
+ text-decoration: none;
1299
+ cursor: pointer;
1300
+ opacity: 0.4;
1301
+ filter: alpha(opacity=40); }
1302
+
1303
+ /* IE9 fix - removes all filters */
1304
+ .qtip:not(.ie9haxors) div.qtip-content, .qtip:not(.ie9haxors) div.qtip-titlebar {
1305
+ filter: none;
1306
+ -ms-filter: none; }
1307
+
1308
+ .qtip .qtip-tip {
1309
+ margin: 0 auto;
1310
+ overflow: hidden;
1311
+ z-index: 10; }
1312
+
1313
+ /* Opera bug #357 - Incorrect tip position
1314
+ https://github.com/Craga89/qTip2/issues/367 */
1315
+ x:-o-prefocus, .qtip .qtip-tip {
1316
+ visibility: hidden; }
1317
+
1318
+ .qtip .qtip-tip, .qtip .qtip-tip .qtip-vml, .qtip .qtip-tip canvas {
1319
+ position: absolute;
1320
+ color: #123456;
1321
+ background: transparent;
1322
+ border: 0 dashed transparent; }
1323
+
1324
+ .qtip .qtip-tip canvas {
1325
+ top: 0;
1326
+ left: 0; }
1327
+
1328
+ .qtip .qtip-tip .qtip-vml {
1329
+ behavior: url(#default#VML);
1330
+ display: inline-block;
1331
+ visibility: visible; }
1332
+
1333
+ #qtip-overlay {
1334
+ position: fixed;
1335
+ left: 0;
1336
+ top: 0;
1337
+ width: 100%;
1338
+ height: 100%; }
1339
+
1340
+ /* Applied to modals with show.modal.blur set to true */
1341
+ #qtip-overlay.blurs {
1342
+ cursor: pointer; }
1343
+
1344
+ /* Change opacity of overlay here */
1345
+ #qtip-overlay div {
1346
+ position: absolute;
1347
+ left: 0;
1348
+ top: 0;
1349
+ width: 100%;
1350
+ height: 100%;
1351
+ background-color: black;
1352
+ opacity: 0.7;
1353
+ filter: alpha(opacity=70);
1354
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
1355
+
1356
+ /**
1357
+ * CMB Magnific Builder SCSS
1358
+ *
1359
+ * @package Give
1360
+ * @subpackage SCSS/Admin
1361
+ * @copyright Copyright (c) 2015, WordImpress
1362
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
1363
+ */
1364
+ .magnific-builder #titlediv, .magnific-builder #submitdiv, .magnific-builder #google_maps_preview_metabox .handlediv, .magnific-builder #google_maps_preview_metabox .ui-sortable-handle, .magnific-builder #post-body-content, .magnific-builder #marker-icon-modal {
1365
+ display: none; }
1366
+
1367
+ .magnific-builder #google_maps_preview_metabox {
1368
+ border: none; }
1369
+
1370
+ .magnific-builder #google_maps_preview_metabox .inside {
1371
+ margin: 0;
1372
+ padding: 0; }
1373
+
1374
+ /*-------------------------------------
1375
+ Magnific Builder
1376
+ ---------------------------------------*/
1377
+ .magnific-builder#post {
1378
+ position: relative;
1379
+ margin: 20px;
1380
+ padding: 0;
1381
+ background: #EEE;
1382
+ width: auto;
1383
+ overflow: hidden; }
1384
+ .magnific-builder#post #google-map-wrap {
1385
+ border: none; }
1386
+ .magnific-builder#post #poststuff {
1387
+ padding-top: 0; }
1388
+ .magnific-builder#post #cmb2-metabox-google_maps_preview_metabox > div {
1389
+ padding-top: 0; }
1390
+ .magnific-builder#post .magnific-builder#post .places-loading {
1391
+ top: auto;
1392
+ right: -175px;
1393
+ bottom: 15px;
1394
+ left: auto; }
1395
+ .magnific-builder#post #map-toolbar {
1396
+ min-width: 678px; }
1397
+
1398
+ /*-------------------------------------
1399
+ Magnific Builder Sidebar
1400
+ ---------------------------------------*/
1401
+ .magnific-builder#post #postbox-container-1 {
1402
+ margin-left: 0;
1403
+ padding: 90px 0 50px;
1404
+ width: 300px !important;
1405
+ background: url('../img/maps-builder-logo-small-non-pro.png') no-repeat 15px 15px transparent;
1406
+ /*-------------------------------------
1407
+ Sidebar
1408
+ ---------------------------------------*/
1409
+ /*-------------------------------------
1410
+ Google Places
1411
+ ---------------------------------------*/
1412
+ /*-------------------------------------
1413
+ Map Markers
1414
+ ---------------------------------------*/ }
1415
+ .magnific-builder#post #postbox-container-1:after {
1416
+ content: ' ';
1417
+ position: absolute;
1418
+ bottom: 15px;
1419
+ right: 130px;
1420
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
1421
+ width: 104px;
1422
+ height: 16px; }
1423
+ .magnific-builder#post #postbox-container-1 #side-sortables {
1424
+ border-left: 1px solid #DDD;
1425
+ border-bottom: 1px solid #DDD;
1426
+ background-color: #F7F7F7;
1427
+ overflow-y: auto;
1428
+ overflow-x: hidden;
1429
+ height: 100%;
1430
+ min-height: 100%;
1431
+ position: relative; }
1432
+ .magnific-builder#post #postbox-container-1 #side-sortables .ui-sortable-handle {
1433
+ background: #42A4F5;
1434
+ color: #FFF; }
1435
+ .magnific-builder#post #postbox-container-1 #side-sortables .ui-sortable-handle:hover {
1436
+ background: #128df2; }
1437
+ .magnific-builder#post #postbox-container-1 #side-sortables .handlediv {
1438
+ color: #FFF; }
1439
+ .magnific-builder#post #postbox-container-1 .magnific-submit {
1440
+ position: absolute;
1441
+ bottom: 10px;
1442
+ right: 10px;
1443
+ display: block; }
1444
+ .magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-search-radius {
1445
+ margin-top: 15px;
1446
+ border-top: none; }
1447
+ .magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-places-search-multicheckbox ul li {
1448
+ width: 50%;
1449
+ position: relative; }
1450
+ .magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-places-search-multicheckbox ul li .cmb2-option {
1451
+ position: absolute;
1452
+ top: 0;
1453
+ left: 0; }
1454
+ .magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-places-search-multicheckbox ul li label {
1455
+ padding-left: 25px;
1456
+ display: block;
1457
+ padding-right: 3px; }
1458
+ .magnific-builder#post #postbox-container-1 a.drop-marker {
1459
+ margin-top: 10px;
1460
+ display: block;
1461
+ width: 110px;
1462
+ text-align: center; }
1463
+ .magnific-builder#post #postbox-container-1 .white-popup {
1464
+ display: none; }
1465
+ .magnific-builder#post #postbox-container-1 .places-change-message .button {
1466
+ margin-bottom: 10px;
1467
+ float: left; }
1468
+ .magnific-builder#post #post-body.columns-2 #side-sortables {
1469
+ margin-right: 0;
1470
+ width: 300px !important; }
1471
+ .magnific-builder#post .postbox {
1472
+ margin: 0;
1473
+ border-left: none;
1474
+ border-right: none;
1475
+ border-bottom: none; }
1476
+ .magnific-builder#post .postbox:last-of-type {
1477
+ border-bottom: 1px solid #DDD; }
1478
+ .magnific-builder#post .toggle-repeater-groups {
1479
+ display: block;
1480
+ width: 140px;
1481
+ text-align: center;
1482
+ margin: 10px 0 0; }
1483
+ .magnific-builder#post button.edit-title {
1484
+ display: inline-block; }
1485
+
1486
+ /* No Dragging */
1487
+ .magnific-builder .postbox .hndle {
1488
+ cursor: pointer; }
1489
+ .magnific-builder .postbox .hndle:hover {
1490
+ color: #23282d;
1491
+ background: #f5f5f5; }
1492
+
1493
+ .magnific-builder#post .places-loading {
1494
+ top: auto;
1495
+ right: auto;
1496
+ bottom: 0;
1497
+ left: 0; }
1498
+
1499
+ #wpbody-content .magnific-submit {
1500
+ display: none; }
1501
+
1502
+ /*-------------------------------------
1503
+ Editor Button
1504
+ ---------------------------------------*/
1505
+ #map-builder {
1506
+ margin: 5px 12px 10px;
1507
+ display: block;
1508
+ text-align: center; }
1509
+ #map-builder span.dashicons {
1510
+ position: relative;
1511
+ top: 2px;
1512
+ margin-right: 3px; }
1513
+
1514
+ /*-------------------------------------
1515
+ Modal within Modal
1516
+ ---------------------------------------*/
1517
+ .magnific-builder #poststuff .white-popup {
1518
+ position: absolute;
1519
+ max-width: none;
1520
+ margin: 0;
1521
+ padding: 0;
1522
+ width: 100%;
1523
+ height: 100%;
1524
+ top: 0;
1525
+ left: 0;
1526
+ z-index: 100008;
1527
+ opacity: 1;
1528
+ background: rgba(88, 88, 88, 0.8);
1529
+ -webkit-transition: all 0.3s;
1530
+ -moz-transition: all 0.3s;
1531
+ transition: all 0.3s;
1532
+ overflow-y: auto;
1533
+ display: table; }
1534
+ .magnific-builder #poststuff .white-popup:after {
1535
+ content: "";
1536
+ display: table;
1537
+ clear: both; }
1538
+ .magnific-builder #poststuff .white-popup .inner-modal-wrap {
1539
+ display: table-cell;
1540
+ vertical-align: middle; }
1541
+ .magnific-builder #poststuff .white-popup .inner-modal-wrap .inner-modal-container {
1542
+ overflow-y: auto;
1543
+ max-height: 100%; }
1544
+ .magnific-builder #poststuff .white-popup .inner-modal-wrap .inner-modal {
1545
+ max-width: 600px;
1546
+ margin: 30px auto;
1547
+ background: #FFF;
1548
+ padding: 20px;
1549
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.45);
1550
+ position: relative; }
1551
+ .magnific-builder #poststuff .white-popup .save-marker-icon {
1552
+ position: relative;
1553
+ border: none;
1554
+ margin-top: 15px; }
1555
+
1556
+ .pac-container {
1557
+ z-index: 100020 !important; }
1558
+
1559
+ button.gmb-modal-close {
1560
+ border: none;
1561
+ background-color: transparent;
1562
+ color: #333;
1563
+ cursor: pointer;
1564
+ outline: none;
1565
+ padding: 0;
1566
+ z-index: 9999; }
1567
+
1568
+ .map-modal-upsell {
1569
+ display: none; }
1570
+
1571
+ .mfp-container .map-modal-upsell {
1572
+ display: block;
1573
+ position: absolute;
1574
+ top: 35px;
1575
+ right: -261px;
1576
+ text-align: center; }
1577
+ .mfp-container .map-modal-upsell p {
1578
+ font-size: 11px;
1579
+ font-style: italic;
1580
+ margin: 0 0 2px;
1581
+ color: #AAA; }
1582
+ .mfp-container .map-modal-upsell a.upsell-button {
1583
+ width: 70px; }
1584
+
1585
+ /*!
1586
+ * Maps Builder Admin Settings Pages SCSS/CSS
1587
+ *
1588
+ * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner
1589
+ * @package: GMB
1590
+ * @subpackage: SCSS/Admin
1591
+ * @copyright: Copyright (c) 2015, WordImpress
1592
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
1593
+ */
1594
+ #google-map-wrap {
1595
+ position: relative;
1596
+ border: 1px solid #DDD; }
1597
+
1598
+ .hover-transition, .marker-icon-row .icon, .marker-row .marker-item {
1599
+ -webkit-transition: 0.2s all linear;
1600
+ -moz-transition: 0.2s all linear;
1601
+ -o-transition: 0.2s all linear;
1602
+ transition: 0.2s all linear; }
1603
+
1604
+ .box-sizing {
1605
+ box-sizing: border-box;
1606
+ -moz-box-sizing: border-box;
1607
+ -webkit-box-sizing: border-box; }
1608
+
1609
+ .cmb2-id-gmb-theme-json, #marker-icon-modal, .gmb-hidden {
1610
+ display: none; }
1611
+
1612
+ .marker-info-wrapper {
1613
+ background-color: #F1F1F1;
1614
+ margin: 8px 0 4px;
1615
+ padding: 12px 12px 12px 12px;
1616
+ font-size: 13px; }
1617
+ .marker-info-wrapper > div {
1618
+ margin: 0 0 5px;
1619
+ padding: 0; }
1620
+ .marker-info-wrapper > div.rating-wrap {
1621
+ margin: 0;
1622
+ padding: 0; }
1623
+
1624
+ .repeatable-grouping .cmb-nested-table td {
1625
+ padding-top: 3px; }
1626
+ .repeatable-grouping .cmb-nested-table td pre textarea {
1627
+ height: 50px; }
1628
+ .repeatable-grouping .cmb-nested-table td pre {
1629
+ margin: 0; }
1630
+
1631
+ .new-window, span.new-window {
1632
+ background: url('../img/new-window-icon.png') no-repeat right 3px transparent;
1633
+ padding-right: 16px; }
1634
+
1635
+ span.new-window {
1636
+ padding-right: 0;
1637
+ background-position: 0 0;
1638
+ display: inline-block;
1639
+ width: 10px;
1640
+ height: 10px;
1641
+ margin: 0 0 0 2px;
1642
+ position: relative;
1643
+ top: 1px; }
1644
+
1645
+ .mfp-content #marker-icon-modal {
1646
+ display: block; }
1647
+
1648
+ /*Shortcode Input */
1649
+ .shortcode-wrap {
1650
+ margin: 1px 14px 12px 11px; }
1651
+ .shortcode-wrap label {
1652
+ margin: 0 0 3px;
1653
+ display: block;
1654
+ cursor: default; }
1655
+ .shortcode-wrap .shortcode-input {
1656
+ margin: 0;
1657
+ width: 100%; }
1658
+
1659
+ /*------------------------------------------
1660
+ Messages
1661
+ --------------------------------------------*/
1662
+ .wpgp-message {
1663
+ background-color: #FFF;
1664
+ border-left: 4px solid #7AD03A;
1665
+ -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
1666
+ box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
1667
+ box-sizing: border-box;
1668
+ -webkit-box-sizing: border-box;
1669
+ -moz-box-sizing: border-box;
1670
+ padding: 1px 12px;
1671
+ display: none; }
1672
+
1673
+ .wpgp-message.warning-message {
1674
+ border-left: 4px solid #d40000;
1675
+ margin: 20px 0 0; }
1676
+
1677
+ .wpgp-message p, .form-table td .wpgp-message p {
1678
+ margin: .5em 0;
1679
+ padding: 2px; }
1680
+
1681
+ .places-change-message {
1682
+ margin-bottom: 15px;
1683
+ margin-right: 2px; }
1684
+ .places-change-message p {
1685
+ float: left; }
1686
+ .places-change-message .button {
1687
+ float: right;
1688
+ margin-top: 5px; }
1689
+
1690
+ #google-map-wrap .wpgp-message {
1691
+ margin-top: 20px; }
1692
+
1693
+ /*------------------------------------------
1694
+ Google Map Metabox
1695
+ --------------------------------------------*/
1696
+ #cmb2-metabox-google_maps_preview_metabox > div {
1697
+ padding: 5px 0 0;
1698
+ margin: 0; }
1699
+
1700
+ #map {
1701
+ width: 100%;
1702
+ margin: 0 auto; }
1703
+
1704
+ .places-loading {
1705
+ background: url('../img/spinner.gif') no-repeat center right transparent;
1706
+ font-style: italic;
1707
+ position: absolute;
1708
+ top: -34px;
1709
+ right: 31px;
1710
+ padding: 0 25px 0 0;
1711
+ display: none; }
1712
+
1713
+ .cmb2-id-gmb-map-type td {
1714
+ padding-bottom: 0; }
1715
+
1716
+ .cmb2-id-gmb-map-type-control .cmb2-option {
1717
+ margin: 5px 0 10px; }
1718
+
1719
+ /*------------------------------------------
1720
+ General Styles
1721
+ --------------------------------------------*/
1722
+ .cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox {
1723
+ display: none; }
1724
+
1725
+ #google_maps_details_options tr {
1726
+ display: none; }
1727
+
1728
+ #google_maps_details_options tr.cmb2-id-gmb-show-poi {
1729
+ display: table-row; }
1730
+
1731
+ .snazzy-link {
1732
+ font-size: 10px;
1733
+ text-transform: uppercase;
1734
+ font-style: normal;
1735
+ display: inline-block; }
1736
+
1737
+ #width_height_wrap > div {
1738
+ margin: 0 0 10px; }
1739
+
1740
+ .inner-sidebar table.cmb_metabox label.size-label, #side-sortables table.cmb_metabox label.size-label, label.size-label {
1741
+ font-weight: normal;
1742
+ font-style: italic; }
1743
+
1744
+ #poststuff h2.cmb-group-name {
1745
+ font-weight: bold;
1746
+ font-size: 14px;
1747
+ margin: 0 0 8px;
1748
+ padding: 0;
1749
+ display: block;
1750
+ position: relative; }
1751
+
1752
+ /*------------------------------------------
1753
+ Place Markers
1754
+ --------------------------------------------*/
1755
+ #infobubble-content {
1756
+ padding: 0 0 0 0;
1757
+ margin: 3px -20px 0 0;
1758
+ min-width: 314px;
1759
+ min-height: 80px;
1760
+ height: 100%;
1761
+ overflow: hidden;
1762
+ box-sizing: border-box;
1763
+ cursor: default; }
1764
+ #infobubble-content p {
1765
+ font-size: 12px;
1766
+ margin: 0 0 7px;
1767
+ color: #2C2C2C; }
1768
+ #infobubble-content .place-title {
1769
+ border: 1px solid #FFF;
1770
+ font-family: Roboto, Arial, sans-serif;
1771
+ font-size: 16px;
1772
+ line-height: 21px;
1773
+ font-weight: 700;
1774
+ min-height: 21px;
1775
+ white-space: normal;
1776
+ padding-right: 20px; }
1777
+ #infobubble-content .place-description {
1778
+ white-space: normal; }
1779
+
1780
+ .marker-confirm-place {
1781
+ margin: 0 8px 4px 0;
1782
+ display: inline-block; }
1783
+
1784
+ .marker-confirm-place:hover {
1785
+ cursor: pointer; }
1786
+
1787
+ /* Hacky fix to prevent scrollbars */
1788
+ #google_maps_preview_metabox .gm-style-iw, #google_maps_preview_metabox .gm-style-iw > div {
1789
+ overflow: visible !important; }
1790
+
1791
+ #google_maps_preview_metabox .gm-style-iw > div > div {
1792
+ overflow: visible !important; }
1793
+
1794
+ #infobubble-content {
1795
+ overflow: hidden !important; }
1796
+
1797
+ #infobubble-content.loading {
1798
+ background: url('../img/loading-large.GIF') no-repeat center center #FFF; }
1799
+
1800
+ #google-map-wrap div#infobubble-content > div {
1801
+ white-space: normal; }
1802
+
1803
+ /* Ratings */
1804
+ #infobubble-content .rating-wrap {
1805
+ overflow: hidden; }
1806
+ #infobubble-content .numeric-rating {
1807
+ font-size: 16px;
1808
+ color: #DD4B39;
1809
+ font-weight: 400;
1810
+ float: left;
1811
+ margin: 0 5px 0 0; }
1812
+ #infobubble-content .star-rating-wrap {
1813
+ background: url('../img/review_stars.png') no-repeat 0 0 transparent;
1814
+ height: 13px;
1815
+ width: 67px;
1816
+ float: left;
1817
+ margin: 4px 0 0; }
1818
+ #infobubble-content .star-rating-size {
1819
+ background: url('../img/review_stars.png') no-repeat 0 -13px transparent;
1820
+ height: 13px; }
1821
+
1822
+ /*------------------------------------------
1823
+ Editable Marker
1824
+ --------------------------------------------*/
1825
+ #edit-toolbar {
1826
+ list-style: none;
1827
+ margin: 0;
1828
+ padding: 0;
1829
+ text-align: right; }
1830
+ #edit-toolbar > li {
1831
+ margin: 0 4px;
1832
+ cursor: pointer;
1833
+ display: inline-block;
1834
+ content: '';
1835
+ height: 21px;
1836
+ width: 21px;
1837
+ opacity: .5;
1838
+ background: url('../img/icons-infowindow-002.svg'); }
1839
+ #edit-toolbar > li:hover {
1840
+ opacity: .75; }
1841
+ #edit-toolbar > li.trash-marker {
1842
+ background-position: -42px 0; }
1843
+ #edit-toolbar > li.edit-info {
1844
+ background: url('../img/icons-app-000.svg');
1845
+ background-position: 21px 21px; }
1846
+
1847
+ /*------------------------------------------
1848
+ Display Options
1849
+ --------------------------------------------*/
1850
+ #lat-lng-wrap input[type=text].latitude, #lat-lng-wrap input[type=text].longitude, #side-sortables #lat-lng-wrap input[type=text].latitude, #side-sortables #lat-lng-wrap input[type=text].longitude {
1851
+ width: 100px;
1852
+ float: left; }
1853
+
1854
+ /* Mini message */
1855
+ .lat-lng-change-message {
1856
+ float: left;
1857
+ clear: both;
1858
+ margin: 10px 0 0;
1859
+ width: 100%; }
1860
+ .lat-lng-change-message > p {
1861
+ float: left; }
1862
+
1863
+ .lat-lng-update-btn {
1864
+ float: right;
1865
+ margin: 7px 0 0 !important; }
1866
+
1867
+ /*-------------------------------------
1868
+ Save Info Window Toolbar
1869
+ ---------------------------------------*/
1870
+ #save-toolbar {
1871
+ margin: 0;
1872
+ padding: 0;
1873
+ float: left; }
1874
+ #save-toolbar > li {
1875
+ display: inline-block;
1876
+ margin: 0;
1877
+ padding: 0; }
1878
+ #save-toolbar > li:first-child {
1879
+ margin: 0 5px 0 0; }
1880
+ #save-toolbar > li .google-btn {
1881
+ width: 75px; }
1882
+
1883
+ #infobubble-content .marker-edit-link-wrap a {
1884
+ opacity: 0.5;
1885
+ box-shadow: none;
1886
+ outline: none;
1887
+ width: 20px;
1888
+ height: 20px; }
1889
+ #infobubble-content .marker-edit-link-wrap a.marker-edit-link {
1890
+ background: url('../img/marker-btn.png') no-repeat 0 0 transparent;
1891
+ margin: 4px 0 0;
1892
+ display: block;
1893
+ float: right; }
1894
+ #infobubble-content .marker-edit-link-wrap a:hover {
1895
+ opacity: 1; }
1896
+
1897
+ #save-toolbar > li .marker-edit-link {
1898
+ opacity: 0.75; }
1899
+
1900
+ #infobubble-content .edit-place-title {
1901
+ width: 290px;
1902
+ margin: 0 0 10px; }
1903
+
1904
+ #infobubble-content .edit-place-description {
1905
+ display: block;
1906
+ font-size: 12px;
1907
+ width: 100%;
1908
+ min-height: 100px; }
1909
+
1910
+ /*-------------------------------------
1911
+ Map Edit Quick Toolbar
1912
+ ---------------------------------------*/
1913
+ #map-toolbar {
1914
+ position: absolute;
1915
+ left: 50%;
1916
+ bottom: -1px;
1917
+ transform: translateX(-50%);
1918
+ background: #FFF;
1919
+ padding: 3px 1px 0;
1920
+ border-top: 1px solid #DDD;
1921
+ border-left: 1px solid #DDD;
1922
+ border-right: 1px solid #DDD;
1923
+ min-width: 575px; }
1924
+ #map-toolbar #title {
1925
+ padding: 3px; }
1926
+ #map-toolbar .drop-marker .dashicons {
1927
+ margin: 5px 0 0; }
1928
+ #map-toolbar button {
1929
+ margin: 0 2px; }
1930
+ #map-toolbar button .dashicons {
1931
+ font-size: 12px;
1932
+ width: 12px;
1933
+ margin: 5px 2px 0 -2px; }
1934
+ #map-toolbar button.edit-title {
1935
+ display: none; }
1936
+ #map-toolbar .live-lat-lng-wrap {
1937
+ border: 1px solid #DDD;
1938
+ padding: 0;
1939
+ margin: 0 2px;
1940
+ display: inline-block;
1941
+ width: 250px;
1942
+ background-color: #FAFAFA;
1943
+ height: 24px;
1944
+ overflow: hidden;
1945
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08); }
1946
+ #map-toolbar .live-lat-lng-wrap .live-latitude-wrap, #map-toolbar .live-lat-lng-wrap .live-longitude-wrap {
1947
+ float: left;
1948
+ margin-left: 6px; }
1949
+ #map-toolbar .live-lat-lng-wrap .live-latitude-wrap span, #map-toolbar .live-lat-lng-wrap .live-longitude-wrap span {
1950
+ line-height: 22px;
1951
+ float: left; }
1952
+ #map-toolbar .live-lat-lng-wrap .live-longitude, #map-toolbar .live-lat-lng-wrap .live-latitude {
1953
+ font-size: 11px;
1954
+ margin: 0;
1955
+ padding: 0;
1956
+ width: 60px;
1957
+ white-space: nowrap;
1958
+ overflow: hidden; }
1959
+ #map-toolbar .live-lat-lng-wrap .live-longitude-label, #map-toolbar .live-lat-lng-wrap .live-latitude-label {
1960
+ font-size: 10px;
1961
+ color: #AAA;
1962
+ font-style: italic;
1963
+ display: block;
1964
+ padding: 0 2px 0 0; }
1965
+ #map-toolbar .live-lat-lng-wrap button {
1966
+ float: left;
1967
+ margin: -2px 0 -2px -2px;
1968
+ border-radius: 0;
1969
+ height: 26px;
1970
+ box-shadow: none; }
1971
+ #map-toolbar .live-lat-lng-wrap button:hover {
1972
+ box-shadow: none;
1973
+ border-color: #cccccc; }
1974
+
1975
+ @media (max-width: 900px) {
1976
+ #map-toolbar {
1977
+ display: none; } }
1978
+
1979
+ /*-------------------------------------
1980
+ Modal styles
1981
+ ---------------------------------------*/
1982
+ .map-autocomplete-wrap label, .map-title-wrap label {
1983
+ font-weight: bold;
1984
+ font-size: 14px;
1985
+ margin: 0 0 8px;
1986
+ padding: 0;
1987
+ display: block;
1988
+ position: relative;
1989
+ margin-bottom: 0; }
1990
+ .map-autocomplete-wrap p.cmb2-metabox-description, .map-title-wrap p.cmb2-metabox-description {
1991
+ padding: 8px 0; }
1992
+ .map-autocomplete-wrap input, .map-title-wrap input {
1993
+ width: 100%; }
1994
+
1995
+ .map-autocomplete-wrap label {
1996
+ position: relative; }
1997
+ .map-autocomplete-wrap label:after {
1998
+ content: ' ';
1999
+ position: absolute;
2000
+ bottom: 0;
2001
+ left: 120px;
2002
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
2003
+ width: 104px;
2004
+ height: 16px; }
2005
+
2006
+ /*-------------------------------------
2007
+ Google Style Buttons
2008
+ ---------------------------------------*/
2009
+ .google-btn {
2010
+ -webkit-border-radius: 2px;
2011
+ border-radius: 2px;
2012
+ cursor: default;
2013
+ font-weight: 300;
2014
+ font-size: 13px;
2015
+ text-align: center;
2016
+ white-space: nowrap;
2017
+ height: 27px;
2018
+ line-height: 27px;
2019
+ min-width: 54px;
2020
+ outline: 0;
2021
+ padding: 0 8px; }
2022
+
2023
+ .google-btn-blue {
2024
+ -webkit-box-shadow: none;
2025
+ box-shadow: none;
2026
+ background-color: #4D90FE;
2027
+ background-image: -webkit-linear-gradient(top, #4D90FE, #4787ED);
2028
+ background-image: linear-gradient(top, #4d90fe, #4787ed);
2029
+ border: 1px solid #3079ED;
2030
+ color: #FFF; }
2031
+ .google-btn-blue:hover {
2032
+ -webkit-box-shadow: none;
2033
+ box-shadow: none;
2034
+ background-color: #357AE8;
2035
+ background-image: -webkit-linear-gradient(top, #4D90FE, #357AE8);
2036
+ background-image: linear-gradient(top, #4d90fe, #357ae8);
2037
+ border: 1px solid #2F5BB7;
2038
+ border-bottom-color: #2F5BB7; }
2039
+ .google-btn-blue:active, .google-btn-blue:focus {
2040
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
2041
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
2042
+ background: #357AE8;
2043
+ border: 1px solid #2F5BB7;
2044
+ border-top: 1px solid #2F5BB7; }
2045
+
2046
+ .google-btn-default {
2047
+ -webkit-box-shadow: none;
2048
+ box-shadow: none;
2049
+ background-color: #F5F5F5;
2050
+ background-image: -webkit-linear-gradient(top, #F5F5F5, #F1F1F1);
2051
+ background-image: linear-gradient(top, #f5f5f5, #f1f1f1);
2052
+ color: #333;
2053
+ border: 1px solid #DCDCDC;
2054
+ border: 1px solid rgba(0, 0, 0, 0.1); }
2055
+ .google-btn-default:hover {
2056
+ -webkit-box-shadow: none;
2057
+ box-shadow: none;
2058
+ background-color: #F8F8F8;
2059
+ background-image: -webkit-linear-gradient(top, #F8F8F8, #F1F1F1);
2060
+ background-image: linear-gradient(top, #f8f8f8, #f1f1f1);
2061
+ border: 1px solid #C6C6C6;
2062
+ color: #111; }
2063
+ .google-btn-default:active {
2064
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
2065
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
2066
+ background: #F8F8F8;
2067
+ color: #111; }
2068
+
2069
+ /*-------------------------------------
2070
+ Temporary Info Window
2071
+ ---------------------------------------*/
2072
+ .infowindow-toolbar {
2073
+ display: block;
2074
+ margin: 0;
2075
+ padding: 8px 0 5px; }
2076
+
2077
+ .add-marker {
2078
+ text-decoration: none; }
2079
+
2080
+ /**
2081
+ * CMB2 Customized SCSS
2082
+ *
2083
+ * @description Here we customize the look-and-feel of CMB2 to suit GMB
2084
+ * @package Give
2085
+ * @subpackage SCSS/Admin
2086
+ * @copyright Copyright (c) 2015, WordImpress
2087
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
2088
+ */
2089
+ /*------------------------------------------
2090
+ CMB2 Interface
2091
+ --------------------------------------------*/
2092
+ .cmb2-id-gmb-places-search-multicheckbox ul {
2093
+ overflow: hidden; }
2094
+ .cmb2-id-gmb-places-search-multicheckbox li {
2095
+ float: left;
2096
+ width: 33%; }
2097
+ .cmb2-id-gmb-places-search-multicheckbox .cmb2-metabox-description {
2098
+ margin-top: 10px;
2099
+ margin-right: 2px; }
2100
+
2101
+ #cmb2-metabox-google_maps_search_options .cmb2-id-gmb-show-places {
2102
+ border-bottom: none !important;
2103
+ margin-bottom: 0 !important; }
2104
+
2105
+ #post-body-content #cmb2-metabox-google_maps_search_options .cmb2-id-gmb-search-radius, #post-body .cmb2-id-gmb-search-radius {
2106
+ border-top: 1px solid #e9e9e9; }
2107
+
2108
+ /*-------------------------------------
2109
+ Autocomplete Metabox
2110
+ ---------------------------------------*/
2111
+ #cmb2-metabox-google_maps_markers .search-autocomplete {
2112
+ width: 78%;
2113
+ margin-right: 10px; }
2114
+ #cmb2-metabox-google_maps_markers .autocomplete-wrap p {
2115
+ font-size: 13px;
2116
+ padding: 5px 0 0;
2117
+ margin: 0;
2118
+ line-height: 18px;
2119
+ font-style: italic;
2120
+ color: #aaaaaa; }
2121
+ #cmb2-metabox-google_maps_markers a.drop-marker {
2122
+ font-style: normal; }
2123
+ #cmb2-metabox-google_maps_markers a.drop-marker .dashicons {
2124
+ font-size: 14px;
2125
+ margin: 4px 0 0;
2126
+ width: 16px; }
2127
+
2128
+ /*-------------------------------------
2129
+ Map Markers
2130
+ ---------------------------------------*/
2131
+ #google_maps_markers .cmb-add-row {
2132
+ display: none; }
2133
+
2134
+ #poststuff .postbox-container .cmb-repeatable-group:not(:last-of-type) {
2135
+ border-bottom: 1px solid #e9e9e9;
2136
+ padding: 0 0 15px; }
2137
+ #poststuff .postbox-container .cmb-repeat-group-wrap .cmb-row:not(:last-of-type) {
2138
+ margin-bottom: 10px; }
2139
+
2140
+ #gmb_markers_group_repeat.cmb-remove-field-row {
2141
+ margin-bottom: 15px; }
2142
+
2143
+ /*-------------------------------------
2144
+ Sidebar
2145
+ ---------------------------------------*/
2146
+ #poststuff .inner-sidebar, #poststuff #side-sortables {
2147
+ /*-------------------------------------
2148
+ Sidebar Fields
2149
+ ---------------------------------------*/
2150
+ /*-------------------------------------
2151
+ Sidebar Repeater Field Groups
2152
+ ---------------------------------------*/ }
2153
+ #poststuff .inner-sidebar .inside, #poststuff #side-sortables .inside {
2154
+ margin-top: 0;
2155
+ padding-top: 12px; }
2156
+ #poststuff .inner-sidebar .cmb-row, #poststuff #side-sortables .cmb-row {
2157
+ margin: 0 0 15px;
2158
+ padding: 0; }
2159
+ #poststuff .inner-sidebar .cmb-row:not(:last-of-type), #poststuff #side-sortables .cmb-row:not(:last-of-type) {
2160
+ border-bottom: 0; }
2161
+ #poststuff .inner-sidebar .cmb-row:last-child, #poststuff .inner-sidebar .cmb-row:last-of-type, #poststuff #side-sortables .cmb-row:last-child, #poststuff #side-sortables .cmb-row:last-of-type {
2162
+ margin-bottom: 5px; }
2163
+ #poststuff .inner-sidebar .cmb-th, #poststuff #side-sortables .cmb-th {
2164
+ background: transparent;
2165
+ padding: 0;
2166
+ position: relative; }
2167
+ #poststuff .inner-sidebar .cmb-th label, #poststuff #side-sortables .cmb-th label {
2168
+ border: none; }
2169
+ #poststuff .inner-sidebar .cmb-th label:after, #poststuff #side-sortables .cmb-th label:after {
2170
+ display: none; }
2171
+ #poststuff .inner-sidebar .cmb-td.cmb-nested, #poststuff #side-sortables .cmb-td.cmb-nested {
2172
+ padding-left: 12px;
2173
+ padding-right: 12px; }
2174
+ #poststuff .inner-sidebar select, #poststuff #side-sortables select {
2175
+ width: 100%; }
2176
+ #poststuff .inner-sidebar .lat-lng-wrap, #poststuff #side-sortables .lat-lng-wrap {
2177
+ margin-top: 0; }
2178
+ #poststuff .inner-sidebar .lat-lng-wrap.lng-wrap, #poststuff #side-sortables .lat-lng-wrap.lng-wrap {
2179
+ margin-bottom: 0; }
2180
+ #poststuff .inner-sidebar .cmb2-metabox-description, #poststuff .inner-sidebar p.cmb2-metabox-description, #poststuff #side-sortables .cmb2-metabox-description, #poststuff #side-sortables p.cmb2-metabox-description {
2181
+ font-size: 13px;
2182
+ padding: 5px 0 0;
2183
+ margin: 0;
2184
+ line-height: 18px;
2185
+ font-style: italic;
2186
+ color: #aaaaaa; }
2187
+ #poststuff .inner-sidebar h2.cmb-group-name, #poststuff #side-sortables h2.cmb-group-name {
2188
+ font-weight: bold;
2189
+ font-size: 14px;
2190
+ margin: 0 0 8px;
2191
+ padding: 0;
2192
+ display: block;
2193
+ position: relative; }
2194
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping, #poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping {
2195
+ margin: 0 0 8px;
2196
+ border: none;
2197
+ border-radius: 5px;
2198
+ overflow: hidden; }
2199
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping .cmb-group-title, #poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping .cmb-group-title {
2200
+ margin: 0;
2201
+ padding: 8px 8px 8px 30px;
2202
+ cursor: pointer;
2203
+ background: #FAA627;
2204
+ border: none;
2205
+ color: #FFF;
2206
+ font-weight: bold; }
2207
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping .cmbhandle, #poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping .cmbhandle {
2208
+ color: #FFF; }
2209
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping .cmbhandle, #poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping .cmbhandle {
2210
+ right: 0;
2211
+ top: 0; }
2212
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping > .cmb-remove-group-row, #poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping > .cmb-remove-group-row {
2213
+ top: 6px;
2214
+ color: #FFF; }
2215
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-field-list, #poststuff #side-sortables .cmb-repeatable-group .cmb-field-list {
2216
+ border-left: 1px solid #EEE;
2217
+ border-right: 1px solid #EEE; }
2218
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-remove-row, #poststuff #side-sortables .cmb-repeatable-group .cmb-remove-row {
2219
+ margin: 0;
2220
+ padding: 0; }
2221
+ #poststuff .inner-sidebar .cmb-repeatable-group .cmb-add-row, #poststuff #side-sortables .cmb-repeatable-group .cmb-add-row {
2222
+ margin: 15px 0 10px; }
2223
+ #poststuff .inner-sidebar .drop-marker, #poststuff #side-sortables .drop-marker {
2224
+ margin-bottom: 15px; }
2225
+
2226
+ #postbox-container-2 #cmb2-metabox-google_maps_markers .toggle-repeater-groups {
2227
+ float: right; }
2228
+ #postbox-container-2 #cmb2-metabox-google_maps_markers .cmb-repeat-group-wrap {
2229
+ padding: 0; }
2230
+ #postbox-container-2 #cmb2-metabox-google_maps_markers .cmb-group-description .cmb-th {
2231
+ padding-right: 0; }
2232
+
2233
+ p.cmb2-metabox-description {
2234
+ font-weight: normal; }
2235
+
2236
+ a.wp-color-result {
2237
+ height: 24px; }
2238
+
2239
+ /*-------------------------------------
2240
+ CMB2 within Magnific
2241
+ ---------------------------------------*/
2242
+ div.white-popup .cmb-th {
2243
+ width: 100%;
2244
+ padding: 0; }
2245
+ div.white-popup .cmb-th label {
2246
+ font-weight: bold;
2247
+ font-size: 14px;
2248
+ margin: 0 0 8px;
2249
+ padding: 0;
2250
+ display: block;
2251
+ position: relative; }
2252
+ div.white-popup .cmb-td {
2253
+ width: 100%;
2254
+ padding: 15px 0; }
2255
+
2256
+ /*-------------------------------------
2257
+ Tooltips
2258
+ ---------------------------------------*/
2259
+ .gmb-tooltip-field > div.cmb-th {
2260
+ overflow: hidden; }
2261
+ .gmb-tooltip-field > div.cmb-th label {
2262
+ float: left; }
2263
+ .gmb-tooltip-field > div.cmb-th .gmb-help-icon {
2264
+ content: ' ';
2265
+ background: url('../img/help.png') no-repeat 0 0 transparent;
2266
+ background-size: 15px;
2267
+ display: inline-block;
2268
+ margin: 0 0 -2px 8px;
2269
+ width: 16px;
2270
+ height: 16px;
2271
+ opacity: 0.4;
2272
+ cursor: pointer;
2273
+ -webkit-transition: 0.2s all linear;
2274
+ -moz-transition: 0.2s all linear;
2275
+ -o-transition: 0.2s all linear;
2276
+ transition: 0.2s all linear; }
2277
+ .gmb-tooltip-field > div.cmb-th .gmb-help-icon:hover {
2278
+ opacity: 1; }
2279
+
2280
+ .gmb-tooltip-text {
2281
+ display: none; }
2282
+
2283
+ /*!
2284
+ * Maps Builder Admin Settings Pages SCSS/CSS
2285
+ *
2286
+ * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner
2287
+ * @package: GMB
2288
+ * @subpackage: SCSS/Admin
2289
+ * @copyright: Copyright (c) 2015, WordImpress
2290
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
2291
+ */
2292
+ .clear:before, .clear:after {
2293
+ content: " ";
2294
+ display: table; }
2295
+
2296
+ .clear:after {
2297
+ clear: both; }
2298
+
2299
+ .google_maps_page_gmb_settings .wrap {
2300
+ margin-left: -5px; }
2301
+ .google_maps_page_gmb_settings table.form-table {
2302
+ margin: 0 0 20px; }
2303
+ .google_maps_page_gmb_settings .gmb-submit-wrap {
2304
+ clear: both;
2305
+ background: #f5f5f5;
2306
+ border-color: #dfdfdf;
2307
+ overflow: auto;
2308
+ margin: 20px 0 8px;
2309
+ padding: 12px;
2310
+ border-width: 1px;
2311
+ border-style: solid;
2312
+ font-size: 13px;
2313
+ line-height: 2.1em; }
2314
+ .google_maps_page_gmb_settings .cmb-th {
2315
+ width: 20%; }
2316
+ .google_maps_page_gmb_settings .cmb-td {
2317
+ width: 80%; }
2318
+
2319
+ /*---------------------------
2320
+ Welcome Header
2321
+ -----------------------------*/
2322
+ .welcome-header {
2323
+ margin-bottom: 20px; }
2324
+ .welcome-header .main-heading {
2325
+ font-size: 36px;
2326
+ font-weight: 400;
2327
+ line-height: 1.1em;
2328
+ margin: 10px 0 20px; }
2329
+ .welcome-header .main-subheading {
2330
+ font-size: 20px;
2331
+ line-height: 1.4em;
2332
+ margin: 0; }
2333
+ .welcome-header .logo-svg {
2334
+ margin: 15px 0 0; }
2335
+ .welcome-header .logo-svg svg {
2336
+ height: 185px; }
2337
+ .welcome-header .logo-svg.logo-svg-small {
2338
+ float: right;
2339
+ margin: 0; }
2340
+ .welcome-header .new-window {
2341
+ background: url('../img/new-window-icon.png') no-repeat right 5px transparent;
2342
+ padding-right: 13px;
2343
+ margin-right: 4px; }
2344
+
2345
+ /*------------------------------------------
2346
+ Welcome Closed heading
2347
+ --------------------------------------------*/
2348
+ .gmb-plugin-heading {
2349
+ display: none; }
2350
+ .gmb-plugin-heading + #Layer_1 {
2351
+ width: auto;
2352
+ height: 37px;
2353
+ margin: 0 10px 0 5px; }
2354
+
2355
+ a.button.gmb-orange-btn, .gmb-orange-btn {
2356
+ background: #FAA625;
2357
+ border-color: #CE8617;
2358
+ -webkit-box-shadow: inset 0 1px 0 #f9c679, 0 1px 0 rgba(0, 0, 0, 0.15);
2359
+ -moz-box-shadow: inset 0 1px 0 #f9c679, 0 1px 0 rgba(0, 0, 0, 0.15);
2360
+ box-shadow: inset 0 1px 0 #f9c679, 0 1px 0 rgba(0, 0, 0, 0.15);
2361
+ color: #FFF; }
2362
+ a.button.gmb-orange-btn:hover, a.button.gmb-orange-btn:disabled, .gmb-orange-btn:hover, .gmb-orange-btn:disabled {
2363
+ color: #FFF;
2364
+ background: #eb9e23;
2365
+ border-color: #ba7915;
2366
+ -webkit-box-shadow: inset 0 1px 0 #f9c679, 0 1px 0 rgba(0, 0, 0, 0.15);
2367
+ -moz-box-shadow: inset 0 1px 0 #f9c679, 0 1px 0 rgba(0, 0, 0, 0.15);
2368
+ box-shadow: inset 0 1px 0 #f9c679, 0 1px 0 rgba(0, 0, 0, 0.15); }
2369
+
2370
+ #wpwrap .gmb-settings-header-btn {
2371
+ margin: 5px 0 0; }
2372
+
2373
+ /*------------------------------------------
2374
+ Social Media
2375
+ --------------------------------------------*/
2376
+ .social-items-wrap {
2377
+ float: left; }
2378
+ .social-items-wrap > div {
2379
+ display: inline-block; }
2380
+ .social-items-wrap .fb-item-wrap {
2381
+ width: 100px; }
2382
+ .social-items-wrap .twitter-item-wrap {
2383
+ width: 145px; }
2384
+ .social-items-wrap .google-plus {
2385
+ margin-left: 20px;
2386
+ width: 200px; }
2387
+ .social-items-wrap .wordimpress-logo {
2388
+ position: relative;
2389
+ top: 10px;
2390
+ left: -17px; }
2391
+ .social-items-wrap .wordimpress-logo a {
2392
+ display: block; }
2393
+ .social-items-wrap .wordimpress-logo .logo-link {
2394
+ background: url('../img/wordimpress-logo-small.png') no-repeat 0 0 transparent;
2395
+ width: 100px;
2396
+ height: 40px; }
2397
+ .social-items-wrap .gmb-settings-header-btn {
2398
+ margin-top: -6px !important; }
2399
+
2400
+ .hide-welcome {
2401
+ margin: 21px 0 0 30px;
2402
+ display: inline-block; }
2403
+ .hide-welcome span {
2404
+ background: url('../img/arrows.png') no-repeat 0 -33px transparent;
2405
+ width: 15px;
2406
+ height: 14px;
2407
+ display: inline-block;
2408
+ margin-left: 3px; }
2409
+
2410
+ .pull-left {
2411
+ float: left; }
2412
+
2413
+ .pull-right {
2414
+ float: right; }
2415
+
2416
+ .small-desc {
2417
+ font-size: 12px;
2418
+ font-style: italic;
2419
+ color: #B3B3B3; }
2420
+
2421
+ /*---------------------------
2422
+ Map Options Tab
2423
+ -----------------------------*/
2424
+ .size-label {
2425
+ margin: 8px 10px 0 0;
2426
+ font-style: italic;
2427
+ width: 50px; }
2428
+
2429
+ .width_unit_label, .width_radio, .map-width, .map-height, .size-label, .radio-left, .label-left {
2430
+ float: left !important; }
2431
+
2432
+ /*---------------------------
2433
+ Map Size
2434
+ ----------------------------*/
2435
+ .size-labels-wrap {
2436
+ margin: 8px 0 0 10px;
2437
+ padding: 0;
2438
+ float: left; }
2439
+ .size-labels-wrap input[type="radio"] {
2440
+ margin-right: 0;
2441
+ float: left; }
2442
+ .size-labels-wrap label {
2443
+ margin: 0 10px 0 0;
2444
+ float: left; }
2445
+
2446
+ .map-width, .map-height {
2447
+ width: 55px !important; }
2448
+
2449
+ /*---------------------------
2450
+ Lat/Lng
2451
+ ----------------------------*/
2452
+ #geolocate-wrap {
2453
+ margin: 0 0 5px; }
2454
+
2455
+ label.geocode-label {
2456
+ width: 130px;
2457
+ margin-right: 0; }
2458
+
2459
+ label.yes-label {
2460
+ margin-right: 10px; }
2461
+
2462
+ .lat-lng-wrap {
2463
+ margin: 10px 20px 10px 0;
2464
+ clear: none; }
2465
+ .lat-lng-wrap > span, .lat-lng-wrap > input {
2466
+ float: left; }
2467
+ .lat-lng-wrap > span {
2468
+ margin: 8px 5px 0 0;
2469
+ width: 80px;
2470
+ font-style: italic;
2471
+ font-weight: bold; }
2472
+ .lat-lng-wrap input[type=text].latitude, .lat-lng-wrap input[type=text].longitude {
2473
+ width: 120px;
2474
+ float: left; }
2475
+
2476
+ /*---------------------------
2477
+ General Options Tab
2478
+ -----------------------------*/
2479
+ #gmb_menu_position {
2480
+ width: 40px; }
2481
+
2482
+ /*---------------------------
2483
+ System Settings Tab
2484
+ -----------------------------*/
2485
+ #system-info-textarea {
2486
+ width: 100%;
2487
+ height: 600px; }
2488
+
2489
+ /*!
2490
+ * Maps Builder Widget
2491
+ *
2492
+ * @description: Admin styles for the widget
2493
+ * @package: GMB
2494
+ * @subpackage: SCSS/Admin
2495
+ * @copyright: Copyright (c) 2015, WordImpress
2496
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
2497
+ */
2498
+ /*----------------------------------------
2499
+ Toggle Tips
2500
+ -------------------------------------------*/
2501
+ .gmb-tooltip-icon:before {
2502
+ content: "\f223";
2503
+ opacity: 0.5; }
2504
+
2505
+ .gmb-tooltip-icon:hover:before {
2506
+ opacity: 1; }
2507
+
2508
+ .gmb-widget-upgrade .powered-by {
2509
+ float: right;
2510
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
2511
+ width: 104px;
2512
+ height: 16px;
2513
+ margin: 3px 0 0; }
2514
+ .gmb-widget-upgrade .button {
2515
+ margin-bottom: 8px; }
2516
+
2517
+ /*-------------------------------------
2518
+ Marker Icon Modal
2519
+ ---------------------------------------*/
2520
+ #poststuff .marker-description-wrap {
2521
+ margin-bottom: 20px;
2522
+ border-bottom: 1px solid #DDD;
2523
+ padding-bottom: 20px; }
2524
+ #poststuff .marker-description-wrap h3 {
2525
+ font-size: 22px;
2526
+ padding: 0;
2527
+ margin: 0 0 15px; }
2528
+ #poststuff .marker-description-wrap p {
2529
+ font-size: 16px;
2530
+ font-style: italic;
2531
+ color: #aaa;
2532
+ margin-bottom: 0; }
2533
+
2534
+ /*-------------------------------------
2535
+ Marker Types
2536
+ ---------------------------------------*/
2537
+ #poststuff .marker-row h3, #poststuff .marker-icon-row h3, .marker-icon-row h3 h3 {
2538
+ margin: 0 0 20px;
2539
+ font-size: 18px;
2540
+ padding: 0; }
2541
+
2542
+ /*-------------------------------------
2543
+ Marker Icon Rows
2544
+ ---------------------------------------*/
2545
+ .marker-icon-row {
2546
+ margin-bottom: 10px; }
2547
+
2548
+ .marker-icon-row, .save-marker-icon {
2549
+ display: none; }
2550
+
2551
+ .marker-icon-row .icon, .marker-row .marker-item {
2552
+ width: 31%;
2553
+ float: left;
2554
+ font-size: 14px;
2555
+ margin-bottom: 10px;
2556
+ padding: 4px;
2557
+ border-radius: 5px; }
2558
+
2559
+ .icon-inner {
2560
+ position: relative;
2561
+ top: -8px; }
2562
+
2563
+ .marker-icon-row .icon span {
2564
+ font-size: 32px;
2565
+ margin-right: 8px;
2566
+ position: relative;
2567
+ top: 8px; }
2568
+
2569
+ .marker-icon-row .icon, .marker-row .marker-item, .maps-icon {
2570
+ cursor: pointer;
2571
+ border: 1px solid #FFF; }
2572
+ .marker-icon-row .icon:hover, .marker-row .marker-item:hover, .maps-icon:hover {
2573
+ border: 1px solid #f4efd8;
2574
+ background: #FFFAE2; }
2575
+
2576
+ .marker-icon-row .marker-item-selected, .marker-item.marker-item-selected {
2577
+ border: 1px solid #f4efd8;
2578
+ background: #FFFAE2; }
2579
+
2580
+ .marker-label {
2581
+ z-index: 99;
2582
+ position: absolute;
2583
+ display: block;
2584
+ margin-top: -50px;
2585
+ margin-left: -25px;
2586
+ width: 50px;
2587
+ height: 50px;
2588
+ font-size: 28px;
2589
+ text-align: center;
2590
+ color: #FFFFFF;
2591
+ white-space: nowrap;
2592
+ line-height: 1; }
2593
+
2594
+ /*-------------------------------------
2595
+ Colors
2596
+ ---------------------------------------*/
2597
+ .marker-row {
2598
+ margin-bottom: 20px; }
2599
+
2600
+ .marker-icon-modal .color-desc {
2601
+ display: block;
2602
+ clear: both;
2603
+ font-size: 12px;
2604
+ font-style: italic; }
2605
+ .marker-icon-modal .marker-color-picker-wrap {
2606
+ float: left; }
2607
+
2608
+ /*-------------------------------------
2609
+ Marker Selections
2610
+ ---------------------------------------*/
2611
+ .marker-row {
2612
+ margin-bottom: 25px; }
2613
+ .marker-row .marker-item {
2614
+ float: left;
2615
+ width: 31%;
2616
+ text-align: center;
2617
+ padding: 10px;
2618
+ height: 100px;
2619
+ margin: 0 1% 1% 0; }
2620
+ .marker-row .marker-item .marker-svg {
2621
+ margin-top: 3px; }
2622
+ .marker-row .marker-item .marker-svg.default-marker {
2623
+ margin-top: 10px;
2624
+ margin-bottom: 6px; }
2625
+
2626
+ .marker-description-wrap h3, .marker-icon-row h3 {
2627
+ margin-top: 0; }
2628
+
2629
+ /*-------------------------------------
2630
+ Map Icons
2631
+ ---------------------------------------*/
2632
+ .map-icons-list {
2633
+ margin: 0 0 10px; }
2634
+ .map-icons-list li {
2635
+ float: left;
2636
+ padding: 0; }
2637
+ .map-icons-list li a {
2638
+ padding: 4px;
2639
+ display: block;
2640
+ box-shadow: none; }
2641
+
2642
+ /* Save button */
2643
+ .save-marker-icon {
2644
+ background: #F1F1F1;
2645
+ padding: 10px;
2646
+ position: absolute;
2647
+ bottom: 0;
2648
+ left: 0;
2649
+ width: 100%;
2650
+ box-sizing: border-box;
2651
+ -moz-box-sizing: border-box;
2652
+ -webkit-box-sizing: border-box;
2653
+ border-top: 1px solid #DFDFDF; }
2654
+ .save-marker-icon .save-text {
2655
+ float: left;
2656
+ font-style: italic;
2657
+ margin: 6px 0 0 10px; }
2658
+ .save-marker-icon .button {
2659
+ float: right; }
2660
+
2661
+ .radius-label {
2662
+ position: relative;
2663
+ top: 35px;
2664
+ color: #7dbee8; }
2665
+
2666
+ /*-------------------------------------
2667
+ Modal: Create a Marker
2668
+ ---------------------------------------*/
2669
+ .cmb2-id-gmb-geocoder.white-popup p.autocomplete-description {
2670
+ display: none; }
2671
+ .cmb2-id-gmb-geocoder.white-popup label {
2672
+ margin: 0;
2673
+ padding: 0; }
2674
+ .cmb2-id-gmb-geocoder.white-popup label:after {
2675
+ content: ' ';
2676
+ position: absolute;
2677
+ bottom: 0;
2678
+ left: 105px;
2679
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
2680
+ width: 104px;
2681
+ height: 16px; }
2682
+ .cmb2-id-gmb-geocoder.white-popup .cmb-td {
2683
+ padding: 0; }
2684
+ .cmb2-id-gmb-geocoder.white-popup .cmb-td input {
2685
+ width: 100%; }
2686
+
2687
+
2688
+ /*# sourceMappingURL=gmb-admin.css.map */
assets/css/gmb-admin.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["plugins/magnific.scss","admin/_mixins.scss","plugins/grid.scss","plugins/qtip2.scss","admin/magnific-builder.scss","admin/builder.scss","admin/cmb2-custom.scss","admin/settings.scss","admin/widget.scss","admin/modal-markers.scss"],"names":[],"mappings":"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","file":"gmb-admin.css","sourcesContent":["/* Magnific Popup CSS */\r\n.mfp-bg {\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 100000;\r\n overflow: hidden;\r\n position: fixed;\r\n background: #0b0b0b;\r\n opacity: 0.8;\r\n filter: alpha(opacity=80);\r\n}\r\n\r\n.mfp-wrap {\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 100001;\r\n position: fixed;\r\n outline: none !important;\r\n -webkit-backface-visibility: hidden;\r\n}\r\n\r\n.mfp-container {\r\n text-align: center;\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n padding: 0;\r\n -webkit-box-sizing: border-box;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n}\r\n\r\n.mfp-container:before {\r\n content: '';\r\n display: inline-block;\r\n height: 100%;\r\n vertical-align: middle;\r\n}\r\n\r\n.mfp-align-top .mfp-container:before {\r\n display: none;\r\n}\r\n\r\n.mfp-content {\r\n position: relative;\r\n display: inline-block;\r\n vertical-align: middle;\r\n margin: 0 auto;\r\n text-align: left;\r\n z-index: 100003;\r\n box-sizing: border-box;\r\n}\r\n\r\n.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {\r\n width: 100%;\r\n cursor: auto;\r\n}\r\n\r\n.mfp-ajax-cur {\r\n cursor: progress;\r\n}\r\n\r\n.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {\r\n cursor: -moz-zoom-out;\r\n cursor: -webkit-zoom-out;\r\n cursor: zoom-out;\r\n}\r\n\r\n.mfp-zoom {\r\n cursor: pointer;\r\n cursor: -webkit-zoom-in;\r\n cursor: -moz-zoom-in;\r\n cursor: zoom-in;\r\n}\r\n\r\n.mfp-auto-cursor .mfp-content {\r\n cursor: auto;\r\n}\r\n\r\n.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n user-select: none;\r\n}\r\n\r\n.mfp-loading.mfp-figure {\r\n display: none;\r\n}\r\n\r\n.mfp-hide {\r\n display: none !important;\r\n}\r\n\r\n.mfp-preloader {\r\n color: #CCC;\r\n position: absolute;\r\n top: 50%;\r\n width: auto;\r\n text-align: center;\r\n margin-top: -0.8em;\r\n left: 8px;\r\n right: 8px;\r\n z-index: 100004;\r\n}\r\n\r\n.mfp-preloader a {\r\n color: #CCC;\r\n}\r\n\r\n.mfp-preloader a:hover {\r\n color: #FFF;\r\n}\r\n\r\n.mfp-s-ready .mfp-preloader {\r\n display: none;\r\n}\r\n\r\n.mfp-s-error .mfp-content {\r\n display: none;\r\n}\r\n\r\nbutton.mfp-close, button.mfp-arrow {\r\n overflow: visible;\r\n cursor: pointer;\r\n background: transparent;\r\n border: 0;\r\n -webkit-appearance: none;\r\n display: block;\r\n outline: none;\r\n padding: 0;\r\n z-index: 100005;\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n}\r\n\r\nbutton::-moz-focus-inner {\r\n padding: 0;\r\n border: 0;\r\n}\r\n\r\n.mfp-close, button.gmb-modal-close {\r\n width: 44px;\r\n height: 44px;\r\n line-height: 44px;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n text-decoration: none;\r\n text-align: center;\r\n opacity: 0.65;\r\n filter: alpha(opacity=65);\r\n padding: 0 0 18px 10px;\r\n color: #FFF;\r\n font-style: normal;\r\n font-size: 28px;\r\n font-family: Arial, Baskerville, monospace;\r\n}\r\n\r\n.mfp-close:hover, .mfp-close:focus, button.gmb-modal-close:hover, button.gmb-modal-close:focus {\r\n opacity: 1;\r\n filter: alpha(opacity=100);\r\n}\r\n\r\n.mfp-close:active {\r\n top: 1px;\r\n}\r\n\r\n.mfp-close-btn-in .mfp-close {\r\n color: #333;\r\n}\r\n\r\n.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {\r\n color: #FFF;\r\n right: -6px;\r\n text-align: right;\r\n padding-right: 6px;\r\n width: 100%;\r\n}\r\n\r\n.mfp-counter {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n color: #CCC;\r\n font-size: 12px;\r\n line-height: 18px;\r\n white-space: nowrap;\r\n}\r\n\r\n.mfp-arrow {\r\n position: absolute;\r\n opacity: 0.65;\r\n filter: alpha(opacity=65);\r\n margin: 0;\r\n top: 50%;\r\n margin-top: -55px;\r\n padding: 0;\r\n width: 90px;\r\n height: 110px;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n}\r\n\r\n.mfp-arrow:active {\r\n margin-top: -54px;\r\n}\r\n\r\n.mfp-arrow:hover, .mfp-arrow:focus {\r\n opacity: 1;\r\n filter: alpha(opacity=100);\r\n}\r\n\r\n.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {\r\n content: '';\r\n display: block;\r\n width: 0;\r\n height: 0;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n margin-top: 35px;\r\n margin-left: 35px;\r\n border: medium inset transparent;\r\n}\r\n\r\n.mfp-arrow:after, .mfp-arrow .mfp-a {\r\n border-top-width: 13px;\r\n border-bottom-width: 13px;\r\n top: 8px;\r\n}\r\n\r\n.mfp-arrow:before, .mfp-arrow .mfp-b {\r\n border-top-width: 21px;\r\n border-bottom-width: 21px;\r\n opacity: 0.7;\r\n}\r\n\r\n.mfp-arrow-left {\r\n left: 0;\r\n}\r\n\r\n.mfp-arrow-left:after, .mfp-arrow-left .mfp-a {\r\n border-right: 17px solid #FFF;\r\n margin-left: 31px;\r\n}\r\n\r\n.mfp-arrow-left:before, .mfp-arrow-left .mfp-b {\r\n margin-left: 25px;\r\n border-right: 27px solid #3F3F3F;\r\n}\r\n\r\n.mfp-arrow-right {\r\n right: 0;\r\n}\r\n\r\n.mfp-arrow-right:after, .mfp-arrow-right .mfp-a {\r\n border-left: 17px solid #FFF;\r\n margin-left: 39px;\r\n}\r\n\r\n.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {\r\n border-left: 27px solid #3F3F3F;\r\n}\r\n\r\n.mfp-iframe-holder {\r\n padding-top: 40px;\r\n padding-bottom: 40px;\r\n}\r\n\r\n.mfp-iframe-holder .mfp-content {\r\n line-height: 0;\r\n width: 100%;\r\n max-width: 900px;\r\n}\r\n\r\n.mfp-iframe-holder .mfp-close {\r\n top: -40px;\r\n}\r\n\r\n.mfp-iframe-scaler {\r\n width: 100%;\r\n height: 0;\r\n overflow: hidden;\r\n padding-top: 56.25%;\r\n}\r\n\r\n.mfp-iframe-scaler iframe {\r\n position: absolute;\r\n display: block;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);\r\n background: #000;\r\n}\r\n\r\n/* Main image in popup */\r\nimg.mfp-img {\r\n width: auto;\r\n max-width: 100%;\r\n height: auto;\r\n display: block;\r\n line-height: 0;\r\n -webkit-box-sizing: border-box;\r\n -moz-box-sizing: border-box;\r\n box-sizing: border-box;\r\n padding: 40px 0 40px;\r\n margin: 0 auto;\r\n}\r\n\r\n/* The shadow behind the image */\r\n.mfp-figure {\r\n line-height: 0;\r\n}\r\n\r\n.mfp-figure:after {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n top: 40px;\r\n bottom: 40px;\r\n display: block;\r\n right: 0;\r\n width: auto;\r\n height: auto;\r\n z-index: -1;\r\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);\r\n background: #444;\r\n}\r\n\r\n.mfp-figure small {\r\n color: #BDBDBD;\r\n display: block;\r\n font-size: 12px;\r\n line-height: 14px;\r\n}\r\n\r\n.mfp-figure figure {\r\n margin: 0;\r\n}\r\n\r\n.mfp-bottom-bar {\r\n margin-top: -36px;\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n width: 100%;\r\n cursor: auto;\r\n}\r\n\r\n.mfp-title {\r\n text-align: left;\r\n line-height: 18px;\r\n color: #F3F3F3;\r\n word-wrap: break-word;\r\n padding-right: 36px;\r\n}\r\n\r\n.mfp-image-holder .mfp-content {\r\n max-width: 100%;\r\n}\r\n\r\n.mfp-gallery .mfp-image-holder .mfp-figure {\r\n cursor: pointer;\r\n}\r\n\r\n@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {\r\n /**\r\n\t * Remove all paddings around the image on small screen\r\n\t */\r\n .mfp-img-mobile .mfp-image-holder {\r\n\tpadding-left: 0;\r\n\tpadding-right: 0;\r\n }\r\n\r\n .mfp-img-mobile img.mfp-img {\r\n\tpadding: 0;\r\n }\r\n\r\n .mfp-img-mobile .mfp-figure:after {\r\n\ttop: 0;\r\n\tbottom: 0;\r\n }\r\n\r\n .mfp-img-mobile .mfp-figure small {\r\n\tdisplay: inline;\r\n\tmargin-left: 5px;\r\n }\r\n\r\n .mfp-img-mobile .mfp-bottom-bar {\r\n\tbackground: rgba(0, 0, 0, 0.6);\r\n\tbottom: 0;\r\n\tmargin: 0;\r\n\ttop: auto;\r\n\tpadding: 3px 5px;\r\n\tposition: fixed;\r\n\t-webkit-box-sizing: border-box;\r\n\t-moz-box-sizing: border-box;\r\n\tbox-sizing: border-box;\r\n }\r\n\r\n .mfp-img-mobile .mfp-bottom-bar:empty {\r\n\tpadding: 0;\r\n }\r\n\r\n .mfp-img-mobile .mfp-counter {\r\n\tright: 5px;\r\n\ttop: 3px;\r\n }\r\n\r\n .mfp-img-mobile .mfp-close {\r\n\ttop: 0;\r\n\tright: 0;\r\n\twidth: 35px;\r\n\theight: 35px;\r\n\tline-height: 35px;\r\n\tbackground: rgba(0, 0, 0, 0.6);\r\n\tposition: fixed;\r\n\ttext-align: center;\r\n\tpadding: 0;\r\n }\r\n}\r\n\r\n@media all and (max-width: 900px) {\r\n .mfp-arrow {\r\n\t-webkit-transform: scale(0.75);\r\n\ttransform: scale(0.75);\r\n }\r\n\r\n .mfp-arrow-left {\r\n\t-webkit-transform-origin: 0;\r\n\ttransform-origin: 0;\r\n }\r\n\r\n .mfp-arrow-right {\r\n\t-webkit-transform-origin: 100%;\r\n\ttransform-origin: 100%;\r\n }\r\n\r\n .mfp-container {\r\n\tpadding: 0;\r\n }\r\n}\r\n\r\n.mfp-ie7 .mfp-img {\r\n padding: 0;\r\n}\r\n\r\n.mfp-ie7 .mfp-bottom-bar {\r\n width: 600px;\r\n left: 50%;\r\n margin-left: -300px;\r\n margin-top: 5px;\r\n padding-bottom: 5px;\r\n}\r\n\r\n.mfp-ie7 .mfp-container {\r\n padding: 0;\r\n}\r\n\r\n.mfp-ie7 .mfp-content {\r\n padding-top: 44px;\r\n}\r\n\r\n.mfp-ie7 .mfp-close {\r\n top: 0;\r\n right: 0;\r\n padding-top: 0;\r\n}\r\n\r\n.white-popup {\r\n position: relative;\r\n background: #FFF;\r\n padding: 20px;\r\n width: auto;\r\n max-width: 600px;\r\n margin: 20px auto;\r\n @include clearfix;\r\n}\r\n\r\n.white-popup.marker-icon-modal {\r\n padding-bottom:50px;\r\n}","/* Mixin */\r\n@mixin vertical-align {\r\n position: relative;\r\n top: 50%;\r\n -webkit-transform: translateY(-50%);\r\n -ms-transform: translateY(-50%);\r\n transform: translateY(-50%);\r\n}\r\n\r\n@mixin easing-transition {\r\n -webkit-transition: 0.2s all linear;\r\n -moz-transition: 0.2s all linear;\r\n -o-transition: 0.2s all linear;\r\n transition: 0.2s all linear;\r\n}\r\n\r\n@mixin modal-label {\r\n font-weight: bold;\r\n font-size: 14px;\r\n margin: 0 0 8px;\r\n padding: 0;\r\n display: block;\r\n position: relative;\r\n}\r\n\r\n@mixin field-description {\r\n font-size: 13px;\r\n padding: 5px 0 0;\r\n margin: 0;\r\n line-height: 18px;\r\n font-style: italic;\r\n color: #aaaaaa;\r\n}\r\n\r\n@mixin orange-button {\r\n background: #FAA625;\r\n border-color: #CE8617;\r\n -webkit-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);\r\n -moz-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);\r\n box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);\r\n color: #FFF;\r\n\r\n &:hover, &:disabled {\r\n\tcolor: #FFF;\r\n\tbackground: #eb9e23;\r\n\tborder-color: #ba7915;\r\n\t-webkit-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);\r\n\t-moz-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);\r\n\tbox-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);\r\n }\r\n}\r\n\r\n@mixin clearfix {\r\n\r\n &:after {\r\n\tcontent: \"\";\r\n\tdisplay: table;\r\n\tclear: both;\r\n }\r\n\r\n}\r\n\r\n$blue: #42A4F5;\r\n$orange: #FAA627;","* {\r\n\t-webkit-box-sizing: border-box;\r\n\t-moz-box-sizing: border-box;\r\n\tbox-sizing: border-box;\r\n}\r\n\r\n.clearfix:before, .clearfix:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after {\r\n\tcontent: \" \";\r\n\tdisplay: table;\r\n}\r\n\r\n.container {\r\n\tpadding-left: 15px;\r\n\tpadding-right: 15px;\r\n}\r\n\r\n@media (min-width: 768px) {\r\n\t.container {\r\n\t\twidth: 750px;\r\n\t}\r\n}\r\n\r\n@media (min-width: 992px) {\r\n\t.container {\r\n\t\twidth: 970px;\r\n\t}\r\n}\r\n\r\n@media (min-width: 1200px) {\r\n\t.container {\r\n\t\twidth: 1170px;\r\n\t}\r\n}\r\n\r\n.container-fluid {\r\n\tmargin-right: auto;\r\n\tmargin-left: auto;\r\n\tpadding-left: 15px;\r\n\tpadding-right: 15px;\r\n}\r\n\r\n.row {\r\n\tmargin-left: -15px;\r\n\tmargin-right: -15px;\r\n}\r\n\r\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\r\n\tposition: relative;\r\n\tmin-height: 1px;\r\n\tpadding-left: 15px;\r\n\tpadding-right: 15px;\r\n}\r\n\r\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\r\n\tfloat: left;\r\n}\r\n\r\n.col-xs-12 {\r\n\twidth: 100%;\r\n}\r\n\r\n.col-xs-11 {\r\n\twidth: 91.66666667%;\r\n}\r\n\r\n.col-xs-10 {\r\n\twidth: 83.33333333%;\r\n}\r\n\r\n.col-xs-9 {\r\n\twidth: 75%;\r\n}\r\n\r\n.col-xs-8 {\r\n\twidth: 66.66666667%;\r\n}\r\n\r\n.col-xs-7 {\r\n\twidth: 58.33333333%;\r\n}\r\n\r\n.col-xs-6 {\r\n\twidth: 50%;\r\n}\r\n\r\n.col-xs-5 {\r\n\twidth: 41.66666667%;\r\n}\r\n\r\n.col-xs-4 {\r\n\twidth: 33.33333333%;\r\n}\r\n\r\n.col-xs-3 {\r\n\twidth: 25%;\r\n}\r\n\r\n.col-xs-2 {\r\n\twidth: 16.66666667%;\r\n}\r\n\r\n.col-xs-1 {\r\n\twidth: 8.33333333%;\r\n}\r\n\r\n.col-xs-pull-12 {\r\n\tright: 100%;\r\n}\r\n\r\n.col-xs-pull-11 {\r\n\tright: 91.66666667%;\r\n}\r\n\r\n.col-xs-pull-10 {\r\n\tright: 83.33333333%;\r\n}\r\n\r\n.col-xs-pull-9 {\r\n\tright: 75%;\r\n}\r\n\r\n.col-xs-pull-8 {\r\n\tright: 66.66666667%;\r\n}\r\n\r\n.col-xs-pull-7 {\r\n\tright: 58.33333333%;\r\n}\r\n\r\n.col-xs-pull-6 {\r\n\tright: 50%;\r\n}\r\n\r\n.col-xs-pull-5 {\r\n\tright: 41.66666667%;\r\n}\r\n\r\n.col-xs-pull-4 {\r\n\tright: 33.33333333%;\r\n}\r\n\r\n.col-xs-pull-3 {\r\n\tright: 25%;\r\n}\r\n\r\n.col-xs-pull-2 {\r\n\tright: 16.66666667%;\r\n}\r\n\r\n.col-xs-pull-1 {\r\n\tright: 8.33333333%;\r\n}\r\n\r\n.col-xs-pull-0 {\r\n\tright: 0%;\r\n}\r\n\r\n.col-xs-push-12 {\r\n\tleft: 100%;\r\n}\r\n\r\n.col-xs-push-11 {\r\n\tleft: 91.66666667%;\r\n}\r\n\r\n.col-xs-push-10 {\r\n\tleft: 83.33333333%;\r\n}\r\n\r\n.col-xs-push-9 {\r\n\tleft: 75%;\r\n}\r\n\r\n.col-xs-push-8 {\r\n\tleft: 66.66666667%;\r\n}\r\n\r\n.col-xs-push-7 {\r\n\tleft: 58.33333333%;\r\n}\r\n\r\n.col-xs-push-6 {\r\n\tleft: 50%;\r\n}\r\n\r\n.col-xs-push-5 {\r\n\tleft: 41.66666667%;\r\n}\r\n\r\n.col-xs-push-4 {\r\n\tleft: 33.33333333%;\r\n}\r\n\r\n.col-xs-push-3 {\r\n\tleft: 25%;\r\n}\r\n\r\n.col-xs-push-2 {\r\n\tleft: 16.66666667%;\r\n}\r\n\r\n.col-xs-push-1 {\r\n\tleft: 8.33333333%;\r\n}\r\n\r\n.col-xs-push-0 {\r\n\tleft: 0%;\r\n}\r\n\r\n.col-xs-offset-12 {\r\n\tmargin-left: 100%;\r\n}\r\n\r\n.col-xs-offset-11 {\r\n\tmargin-left: 91.66666667%;\r\n}\r\n\r\n.col-xs-offset-10 {\r\n\tmargin-left: 83.33333333%;\r\n}\r\n\r\n.col-xs-offset-9 {\r\n\tmargin-left: 75%;\r\n}\r\n\r\n.col-xs-offset-8 {\r\n\tmargin-left: 66.66666667%;\r\n}\r\n\r\n.col-xs-offset-7 {\r\n\tmargin-left: 58.33333333%;\r\n}\r\n\r\n.col-xs-offset-6 {\r\n\tmargin-left: 50%;\r\n}\r\n\r\n.col-xs-offset-5 {\r\n\tmargin-left: 41.66666667%;\r\n}\r\n\r\n.col-xs-offset-4 {\r\n\tmargin-left: 33.33333333%;\r\n}\r\n\r\n.col-xs-offset-3 {\r\n\tmargin-left: 25%;\r\n}\r\n\r\n.col-xs-offset-2 {\r\n\tmargin-left: 16.66666667%;\r\n}\r\n\r\n.col-xs-offset-1 {\r\n\tmargin-left: 8.33333333%;\r\n}\r\n\r\n.col-xs-offset-0 {\r\n\tmargin-left: 0%;\r\n}\r\n\r\n@media (min-width: 768px) {\r\n\t.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\r\n\t\tfloat: left;\r\n\t}\r\n\r\n\t.col-sm-12 {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.col-sm-11 {\r\n\t\twidth: 91.66666667%;\r\n\t}\r\n\r\n\t.col-sm-10 {\r\n\t\twidth: 83.33333333%;\r\n\t}\r\n\r\n\t.col-sm-9 {\r\n\t\twidth: 75%;\r\n\t}\r\n\r\n\t.col-sm-8 {\r\n\t\twidth: 66.66666667%;\r\n\t}\r\n\r\n\t.col-sm-7 {\r\n\t\twidth: 58.33333333%;\r\n\t}\r\n\r\n\t.col-sm-6 {\r\n\t\twidth: 50%;\r\n\t}\r\n\r\n\t.col-sm-5 {\r\n\t\twidth: 41.66666667%;\r\n\t}\r\n\r\n\t.col-sm-4 {\r\n\t\twidth: 33.33333333%;\r\n\t}\r\n\r\n\t.col-sm-3 {\r\n\t\twidth: 25%;\r\n\t}\r\n\r\n\t.col-sm-2 {\r\n\t\twidth: 16.66666667%;\r\n\t}\r\n\r\n\t.col-sm-1 {\r\n\t\twidth: 8.33333333%;\r\n\t}\r\n\r\n\t.col-sm-pull-12 {\r\n\t\tright: 100%;\r\n\t}\r\n\r\n\t.col-sm-pull-11 {\r\n\t\tright: 91.66666667%;\r\n\t}\r\n\r\n\t.col-sm-pull-10 {\r\n\t\tright: 83.33333333%;\r\n\t}\r\n\r\n\t.col-sm-pull-9 {\r\n\t\tright: 75%;\r\n\t}\r\n\r\n\t.col-sm-pull-8 {\r\n\t\tright: 66.66666667%;\r\n\t}\r\n\r\n\t.col-sm-pull-7 {\r\n\t\tright: 58.33333333%;\r\n\t}\r\n\r\n\t.col-sm-pull-6 {\r\n\t\tright: 50%;\r\n\t}\r\n\r\n\t.col-sm-pull-5 {\r\n\t\tright: 41.66666667%;\r\n\t}\r\n\r\n\t.col-sm-pull-4 {\r\n\t\tright: 33.33333333%;\r\n\t}\r\n\r\n\t.col-sm-pull-3 {\r\n\t\tright: 25%;\r\n\t}\r\n\r\n\t.col-sm-pull-2 {\r\n\t\tright: 16.66666667%;\r\n\t}\r\n\r\n\t.col-sm-pull-1 {\r\n\t\tright: 8.33333333%;\r\n\t}\r\n\r\n\t.col-sm-pull-0 {\r\n\t\tright: 0%;\r\n\t}\r\n\r\n\t.col-sm-push-12 {\r\n\t\tleft: 100%;\r\n\t}\r\n\r\n\t.col-sm-push-11 {\r\n\t\tleft: 91.66666667%;\r\n\t}\r\n\r\n\t.col-sm-push-10 {\r\n\t\tleft: 83.33333333%;\r\n\t}\r\n\r\n\t.col-sm-push-9 {\r\n\t\tleft: 75%;\r\n\t}\r\n\r\n\t.col-sm-push-8 {\r\n\t\tleft: 66.66666667%;\r\n\t}\r\n\r\n\t.col-sm-push-7 {\r\n\t\tleft: 58.33333333%;\r\n\t}\r\n\r\n\t.col-sm-push-6 {\r\n\t\tleft: 50%;\r\n\t}\r\n\r\n\t.col-sm-push-5 {\r\n\t\tleft: 41.66666667%;\r\n\t}\r\n\r\n\t.col-sm-push-4 {\r\n\t\tleft: 33.33333333%;\r\n\t}\r\n\r\n\t.col-sm-push-3 {\r\n\t\tleft: 25%;\r\n\t}\r\n\r\n\t.col-sm-push-2 {\r\n\t\tleft: 16.66666667%;\r\n\t}\r\n\r\n\t.col-sm-push-1 {\r\n\t\tleft: 8.33333333%;\r\n\t}\r\n\r\n\t.col-sm-push-0 {\r\n\t\tleft: 0%;\r\n\t}\r\n\r\n\t.col-sm-offset-12 {\r\n\t\tmargin-left: 100%;\r\n\t}\r\n\r\n\t.col-sm-offset-11 {\r\n\t\tmargin-left: 91.66666667%;\r\n\t}\r\n\r\n\t.col-sm-offset-10 {\r\n\t\tmargin-left: 83.33333333%;\r\n\t}\r\n\r\n\t.col-sm-offset-9 {\r\n\t\tmargin-left: 75%;\r\n\t}\r\n\r\n\t.col-sm-offset-8 {\r\n\t\tmargin-left: 66.66666667%;\r\n\t}\r\n\r\n\t.col-sm-offset-7 {\r\n\t\tmargin-left: 58.33333333%;\r\n\t}\r\n\r\n\t.col-sm-offset-6 {\r\n\t\tmargin-left: 50%;\r\n\t}\r\n\r\n\t.col-sm-offset-5 {\r\n\t\tmargin-left: 41.66666667%;\r\n\t}\r\n\r\n\t.col-sm-offset-4 {\r\n\t\tmargin-left: 33.33333333%;\r\n\t}\r\n\r\n\t.col-sm-offset-3 {\r\n\t\tmargin-left: 25%;\r\n\t}\r\n\r\n\t.col-sm-offset-2 {\r\n\t\tmargin-left: 16.66666667%;\r\n\t}\r\n\r\n\t.col-sm-offset-1 {\r\n\t\tmargin-left: 8.33333333%;\r\n\t}\r\n\r\n\t.col-sm-offset-0 {\r\n\t\tmargin-left: 0%;\r\n\t}\r\n}\r\n\r\n@media (min-width: 992px) {\r\n\t.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\r\n\t\tfloat: left;\r\n\t}\r\n\r\n\t.col-md-12 {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.col-md-11 {\r\n\t\twidth: 91.66666667%;\r\n\t}\r\n\r\n\t.col-md-10 {\r\n\t\twidth: 83.33333333%;\r\n\t}\r\n\r\n\t.col-md-9 {\r\n\t\twidth: 75%;\r\n\t}\r\n\r\n\t.col-md-8 {\r\n\t\twidth: 66.66666667%;\r\n\t}\r\n\r\n\t.col-md-7 {\r\n\t\twidth: 58.33333333%;\r\n\t}\r\n\r\n\t.col-md-6 {\r\n\t\twidth: 50%;\r\n\t}\r\n\r\n\t.col-md-5 {\r\n\t\twidth: 41.66666667%;\r\n\t}\r\n\r\n\t.col-md-4 {\r\n\t\twidth: 33.33333333%;\r\n\t}\r\n\r\n\t.col-md-3 {\r\n\t\twidth: 25%;\r\n\t}\r\n\r\n\t.col-md-2 {\r\n\t\twidth: 16.66666667%;\r\n\t}\r\n\r\n\t.col-md-1 {\r\n\t\twidth: 8.33333333%;\r\n\t}\r\n\r\n\t.col-md-pull-12 {\r\n\t\tright: 100%;\r\n\t}\r\n\r\n\t.col-md-pull-11 {\r\n\t\tright: 91.66666667%;\r\n\t}\r\n\r\n\t.col-md-pull-10 {\r\n\t\tright: 83.33333333%;\r\n\t}\r\n\r\n\t.col-md-pull-9 {\r\n\t\tright: 75%;\r\n\t}\r\n\r\n\t.col-md-pull-8 {\r\n\t\tright: 66.66666667%;\r\n\t}\r\n\r\n\t.col-md-pull-7 {\r\n\t\tright: 58.33333333%;\r\n\t}\r\n\r\n\t.col-md-pull-6 {\r\n\t\tright: 50%;\r\n\t}\r\n\r\n\t.col-md-pull-5 {\r\n\t\tright: 41.66666667%;\r\n\t}\r\n\r\n\t.col-md-pull-4 {\r\n\t\tright: 33.33333333%;\r\n\t}\r\n\r\n\t.col-md-pull-3 {\r\n\t\tright: 25%;\r\n\t}\r\n\r\n\t.col-md-pull-2 {\r\n\t\tright: 16.66666667%;\r\n\t}\r\n\r\n\t.col-md-pull-1 {\r\n\t\tright: 8.33333333%;\r\n\t}\r\n\r\n\t.col-md-pull-0 {\r\n\t\tright: 0%;\r\n\t}\r\n\r\n\t.col-md-push-12 {\r\n\t\tleft: 100%;\r\n\t}\r\n\r\n\t.col-md-push-11 {\r\n\t\tleft: 91.66666667%;\r\n\t}\r\n\r\n\t.col-md-push-10 {\r\n\t\tleft: 83.33333333%;\r\n\t}\r\n\r\n\t.col-md-push-9 {\r\n\t\tleft: 75%;\r\n\t}\r\n\r\n\t.col-md-push-8 {\r\n\t\tleft: 66.66666667%;\r\n\t}\r\n\r\n\t.col-md-push-7 {\r\n\t\tleft: 58.33333333%;\r\n\t}\r\n\r\n\t.col-md-push-6 {\r\n\t\tleft: 50%;\r\n\t}\r\n\r\n\t.col-md-push-5 {\r\n\t\tleft: 41.66666667%;\r\n\t}\r\n\r\n\t.col-md-push-4 {\r\n\t\tleft: 33.33333333%;\r\n\t}\r\n\r\n\t.col-md-push-3 {\r\n\t\tleft: 25%;\r\n\t}\r\n\r\n\t.col-md-push-2 {\r\n\t\tleft: 16.66666667%;\r\n\t}\r\n\r\n\t.col-md-push-1 {\r\n\t\tleft: 8.33333333%;\r\n\t}\r\n\r\n\t.col-md-push-0 {\r\n\t\tleft: 0%;\r\n\t}\r\n\r\n\t.col-md-offset-12 {\r\n\t\tmargin-left: 100%;\r\n\t}\r\n\r\n\t.col-md-offset-11 {\r\n\t\tmargin-left: 91.66666667%;\r\n\t}\r\n\r\n\t.col-md-offset-10 {\r\n\t\tmargin-left: 83.33333333%;\r\n\t}\r\n\r\n\t.col-md-offset-9 {\r\n\t\tmargin-left: 75%;\r\n\t}\r\n\r\n\t.col-md-offset-8 {\r\n\t\tmargin-left: 66.66666667%;\r\n\t}\r\n\r\n\t.col-md-offset-7 {\r\n\t\tmargin-left: 58.33333333%;\r\n\t}\r\n\r\n\t.col-md-offset-6 {\r\n\t\tmargin-left: 50%;\r\n\t}\r\n\r\n\t.col-md-offset-5 {\r\n\t\tmargin-left: 41.66666667%;\r\n\t}\r\n\r\n\t.col-md-offset-4 {\r\n\t\tmargin-left: 33.33333333%;\r\n\t}\r\n\r\n\t.col-md-offset-3 {\r\n\t\tmargin-left: 25%;\r\n\t}\r\n\r\n\t.col-md-offset-2 {\r\n\t\tmargin-left: 16.66666667%;\r\n\t}\r\n\r\n\t.col-md-offset-1 {\r\n\t\tmargin-left: 8.33333333%;\r\n\t}\r\n\r\n\t.col-md-offset-0 {\r\n\t\tmargin-left: 0%;\r\n\t}\r\n}\r\n\r\n@media (min-width: 1200px) {\r\n\t.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\r\n\t\tfloat: left;\r\n\t}\r\n\r\n\t.col-lg-12 {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.col-lg-11 {\r\n\t\twidth: 91.66666667%;\r\n\t}\r\n\r\n\t.col-lg-10 {\r\n\t\twidth: 83.33333333%;\r\n\t}\r\n\r\n\t.col-lg-9 {\r\n\t\twidth: 75%;\r\n\t}\r\n\r\n\t.col-lg-8 {\r\n\t\twidth: 66.66666667%;\r\n\t}\r\n\r\n\t.col-lg-7 {\r\n\t\twidth: 58.33333333%;\r\n\t}\r\n\r\n\t.col-lg-6 {\r\n\t\twidth: 50%;\r\n\t}\r\n\r\n\t.col-lg-5 {\r\n\t\twidth: 41.66666667%;\r\n\t}\r\n\r\n\t.col-lg-4 {\r\n\t\twidth: 33.33333333%;\r\n\t}\r\n\r\n\t.col-lg-3 {\r\n\t\twidth: 25%;\r\n\t}\r\n\r\n\t.col-lg-2 {\r\n\t\twidth: 16.66666667%;\r\n\t}\r\n\r\n\t.col-lg-1 {\r\n\t\twidth: 8.33333333%;\r\n\t}\r\n\r\n\t.col-lg-pull-12 {\r\n\t\tright: 100%;\r\n\t}\r\n\r\n\t.col-lg-pull-11 {\r\n\t\tright: 91.66666667%;\r\n\t}\r\n\r\n\t.col-lg-pull-10 {\r\n\t\tright: 83.33333333%;\r\n\t}\r\n\r\n\t.col-lg-pull-9 {\r\n\t\tright: 75%;\r\n\t}\r\n\r\n\t.col-lg-pull-8 {\r\n\t\tright: 66.66666667%;\r\n\t}\r\n\r\n\t.col-lg-pull-7 {\r\n\t\tright: 58.33333333%;\r\n\t}\r\n\r\n\t.col-lg-pull-6 {\r\n\t\tright: 50%;\r\n\t}\r\n\r\n\t.col-lg-pull-5 {\r\n\t\tright: 41.66666667%;\r\n\t}\r\n\r\n\t.col-lg-pull-4 {\r\n\t\tright: 33.33333333%;\r\n\t}\r\n\r\n\t.col-lg-pull-3 {\r\n\t\tright: 25%;\r\n\t}\r\n\r\n\t.col-lg-pull-2 {\r\n\t\tright: 16.66666667%;\r\n\t}\r\n\r\n\t.col-lg-pull-1 {\r\n\t\tright: 8.33333333%;\r\n\t}\r\n\r\n\t.col-lg-pull-0 {\r\n\t\tright: 0%;\r\n\t}\r\n\r\n\t.col-lg-push-12 {\r\n\t\tleft: 100%;\r\n\t}\r\n\r\n\t.col-lg-push-11 {\r\n\t\tleft: 91.66666667%;\r\n\t}\r\n\r\n\t.col-lg-push-10 {\r\n\t\tleft: 83.33333333%;\r\n\t}\r\n\r\n\t.col-lg-push-9 {\r\n\t\tleft: 75%;\r\n\t}\r\n\r\n\t.col-lg-push-8 {\r\n\t\tleft: 66.66666667%;\r\n\t}\r\n\r\n\t.col-lg-push-7 {\r\n\t\tleft: 58.33333333%;\r\n\t}\r\n\r\n\t.col-lg-push-6 {\r\n\t\tleft: 50%;\r\n\t}\r\n\r\n\t.col-lg-push-5 {\r\n\t\tleft: 41.66666667%;\r\n\t}\r\n\r\n\t.col-lg-push-4 {\r\n\t\tleft: 33.33333333%;\r\n\t}\r\n\r\n\t.col-lg-push-3 {\r\n\t\tleft: 25%;\r\n\t}\r\n\r\n\t.col-lg-push-2 {\r\n\t\tleft: 16.66666667%;\r\n\t}\r\n\r\n\t.col-lg-push-1 {\r\n\t\tleft: 8.33333333%;\r\n\t}\r\n\r\n\t.col-lg-push-0 {\r\n\t\tleft: 0%;\r\n\t}\r\n\r\n\t.col-lg-offset-12 {\r\n\t\tmargin-left: 100%;\r\n\t}\r\n\r\n\t.col-lg-offset-11 {\r\n\t\tmargin-left: 91.66666667%;\r\n\t}\r\n\r\n\t.col-lg-offset-10 {\r\n\t\tmargin-left: 83.33333333%;\r\n\t}\r\n\r\n\t.col-lg-offset-9 {\r\n\t\tmargin-left: 75%;\r\n\t}\r\n\r\n\t.col-lg-offset-8 {\r\n\t\tmargin-left: 66.66666667%;\r\n\t}\r\n\r\n\t.col-lg-offset-7 {\r\n\t\tmargin-left: 58.33333333%;\r\n\t}\r\n\r\n\t.col-lg-offset-6 {\r\n\t\tmargin-left: 50%;\r\n\t}\r\n\r\n\t.col-lg-offset-5 {\r\n\t\tmargin-left: 41.66666667%;\r\n\t}\r\n\r\n\t.col-lg-offset-4 {\r\n\t\tmargin-left: 33.33333333%;\r\n\t}\r\n\r\n\t.col-lg-offset-3 {\r\n\t\tmargin-left: 25%;\r\n\t}\r\n\r\n\t.col-lg-offset-2 {\r\n\t\tmargin-left: 16.66666667%;\r\n\t}\r\n\r\n\t.col-lg-offset-1 {\r\n\t\tmargin-left: 8.33333333%;\r\n\t}\r\n\r\n\t.col-lg-offset-0 {\r\n\t\tmargin-left: 0%;\r\n\t}\r\n}\r\n","/*\r\n * qTip2 - Pretty powerful tooltips - v2.2.0\r\n * http://qtip2.com\r\n *\r\n * Copyright (c) 2014 Craig Michael Thompson\r\n * Released under the MIT, GPL licenses\r\n * http://jquery.org/license\r\n *\r\n * Date: Sun Mar 16 2014 07:12 EDT-0400\r\n * Plugins: tips viewport imagemap svg modal\r\n * Styles: css3\r\n */\r\n.qtip{\r\n\tposition: absolute;\r\n\tleft: -28000px;\r\n\ttop: -28000px;\r\n\tdisplay: none;\r\n\r\n\tmax-width: 280px;\r\n\tmin-width: 50px;\r\n\r\n\tfont-size: 10.5px;\r\n\tline-height: 12px;\r\n\r\n\tdirection: ltr;\r\n\r\n\tbox-shadow: none;\r\n\tpadding: 0;\r\n}\r\n\r\n\t.qtip-content{\r\n\t\tposition: relative;\r\n\t\tpadding: 5px 9px;\r\n\t\toverflow: hidden;\r\n\r\n\t\ttext-align: left;\r\n\t\tword-wrap: break-word;\r\n\t}\r\n\r\n\t.qtip-titlebar{\r\n\t\tposition: relative;\r\n\t\tpadding: 5px 35px 5px 10px;\r\n\t\toverflow: hidden;\r\n\r\n\t\tborder-width: 0 0 1px;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t.qtip-titlebar + .qtip-content{ border-top-width: 0 !important; }\r\n\r\n\t/* Default close button class */\r\n\t.qtip-close{\r\n\t\tposition: absolute;\r\n\t\tright: -9px; top: -9px;\r\n\r\n\t\tcursor: pointer;\r\n\t\toutline: medium none;\r\n\r\n\t\tborder-width: 1px;\r\n\t\tborder-style: solid;\r\n\t\tborder-color: transparent;\r\n\t}\r\n\r\n\t\t.qtip-titlebar .qtip-close{\r\n\t\t\tright: 4px; top: 50%;\r\n\t\t\tmargin-top: -9px;\r\n\t\t}\r\n\r\n\t\t* html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */\r\n\r\n\t\t.qtip-titlebar .ui-icon,\r\n\t\t.qtip-icon .ui-icon{\r\n\t\t\tdisplay: block;\r\n\t\t\ttext-indent: -1000em;\r\n\t\t\tdirection: ltr;\r\n\t\t}\r\n\r\n\t\t.qtip-icon, .qtip-icon .ui-icon{\r\n\t\t\t-moz-border-radius: 3px;\r\n\t\t\t-webkit-border-radius: 3px;\r\n\t\t\tborder-radius: 3px;\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\t\t.qtip-icon .ui-icon{\r\n\t\t\t\twidth: 18px;\r\n\t\t\t\theight: 14px;\r\n\r\n\t\t\t\tline-height: 14px;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\ttext-indent: 0;\r\n\t\t\t\tfont: normal bold 10px/13px Tahoma,sans-serif;\r\n\r\n\t\t\t\tcolor: inherit;\r\n\t\t\t\tbackground: transparent none no-repeat -100em -100em;\r\n\t\t\t}\r\n\r\n/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */\r\n.qtip-focus{}\r\n\r\n/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */\r\n.qtip-hover{}\r\n\r\n/* Default tooltip style */\r\n.qtip-default{\r\n\tborder-width: 1px;\r\n\tborder-style: solid;\r\n\tborder-color: #F1D031;\r\n\r\n\tbackground-color: #FFFFA3;\r\n\tcolor: #555;\r\n}\r\n\r\n\t.qtip-default .qtip-titlebar{\r\n\t\tbackground-color: #FFEF93;\r\n\t}\r\n\r\n\t.qtip-default .qtip-icon{\r\n\t\tborder-color: #CCC;\r\n\t\tbackground: #F1F1F1;\r\n\t\tcolor: #777;\r\n\t}\r\n\r\n\t.qtip-default .qtip-titlebar .qtip-close{\r\n\t\tborder-color: #AAA;\r\n\t\tcolor: #111;\r\n\t}\r\n\r\n\r\n\r\n.qtip-shadow{\r\n\t-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\r\n\t-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\r\n\tbox-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */\r\n.qtip-rounded,\r\n.qtip-tipsy,\r\n.qtip-bootstrap{\r\n\t-moz-border-radius: 5px;\r\n\t-webkit-border-radius: 5px;\r\n\tborder-radius: 5px;\r\n}\r\n\r\n.qtip-rounded .qtip-titlebar{\r\n\t-moz-border-radius: 4px 4px 0 0;\r\n\t-webkit-border-radius: 4px 4px 0 0;\r\n\tborder-radius: 4px 4px 0 0;\r\n}\r\n\r\n/* Youtube tooltip style */\r\n.qtip-youtube{\r\n\t-moz-border-radius: 2px;\r\n\t-webkit-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\r\n\t-webkit-box-shadow: 0 0 3px #333;\r\n\t-moz-box-shadow: 0 0 3px #333;\r\n\tbox-shadow: 0 0 3px #333;\r\n\r\n\tcolor: white;\r\n\tborder-width: 0;\r\n\r\n\tbackground: #4A4A4A;\r\n\tbackground-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black));\r\n\tbackground-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%);\r\n\tbackground-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%);\r\n\tbackground-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%);\r\n\tbackground-image: -o-linear-gradient(top,#4A4A4A 0,black 100%);\r\n}\r\n\r\n\t.qtip-youtube .qtip-titlebar{\r\n\t\tbackground-color: #4A4A4A;\r\n\t\tbackground-color: rgba(0,0,0,0);\r\n\t}\r\n\r\n\t.qtip-youtube .qtip-content{\r\n\t\tpadding: .75em;\r\n\t\tfont: 12px arial,sans-serif;\r\n\r\n\t\tfilter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\r\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);\";\r\n\t}\r\n\r\n\t.qtip-youtube .qtip-icon{\r\n\t\tborder-color: #222;\r\n\t}\r\n\r\n\t.qtip-youtube .qtip-titlebar .ui-state-hover{\r\n\t\tborder-color: #303030;\r\n\t}\r\n\r\n\r\n/* jQuery TOOLS Tooltip style */\r\n.qtip-jtools{\r\n\tbackground: #232323;\r\n\tbackground: rgba(0, 0, 0, 0.7);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));\r\n\tbackground-image: -moz-linear-gradient(top, #717171, #232323);\r\n\tbackground-image: -webkit-linear-gradient(top, #717171, #232323);\r\n\tbackground-image: -ms-linear-gradient(top, #717171, #232323);\r\n\tbackground-image: -o-linear-gradient(top, #717171, #232323);\r\n\r\n\tborder: 2px solid #ddd;\r\n\tborder: 2px solid rgba(241,241,241,1);\r\n\r\n\t-moz-border-radius: 2px;\r\n\t-webkit-border-radius: 2px;\r\n\tborder-radius: 2px;\r\n\r\n\t-webkit-box-shadow: 0 0 12px #333;\r\n\t-moz-box-shadow: 0 0 12px #333;\r\n\tbox-shadow: 0 0 12px #333;\r\n}\r\n\r\n\t/* IE Specific */\r\n\t.qtip-jtools .qtip-titlebar{\r\n\t\tbackground-color: transparent;\r\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);\r\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)\";\r\n\t}\r\n\t.qtip-jtools .qtip-content{\r\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);\r\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)\";\r\n\t}\r\n\r\n\t.qtip-jtools .qtip-titlebar,\r\n\t.qtip-jtools .qtip-content{\r\n\t\tbackground: transparent;\r\n\t\tcolor: white;\r\n\t\tborder: 0 dashed transparent;\r\n\t}\r\n\r\n\t.qtip-jtools .qtip-icon{\r\n\t\tborder-color: #555;\r\n\t}\r\n\r\n\t.qtip-jtools .qtip-titlebar .ui-state-hover{\r\n\t\tborder-color: #333;\r\n\t}\r\n\r\n\r\n/* Cluetip style */\r\n.qtip-cluetip{\r\n\t-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\r\n\t-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\r\n\tbox-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);\r\n\r\n\tbackground-color: #D9D9C2;\r\n\tcolor: #111;\r\n\tborder: 0 dashed transparent;\r\n}\r\n\r\n\t.qtip-cluetip .qtip-titlebar{\r\n\t\tbackground-color: #87876A;\r\n\t\tcolor: white;\r\n\t\tborder: 0 dashed transparent;\r\n\t}\r\n\r\n\t.qtip-cluetip .qtip-icon{\r\n\t\tborder-color: #808064;\r\n\t}\r\n\r\n\t.qtip-cluetip .qtip-titlebar .ui-state-hover{\r\n\t\tborder-color: #696952;\r\n\t\tcolor: #696952;\r\n\t}\r\n\r\n\r\n/* Tipsy style */\r\n.qtip-tipsy{\r\n\tbackground: black;\r\n\tbackground: rgba(0, 0, 0, .87);\r\n\r\n\tcolor: white;\r\n\tborder: 0 solid transparent;\r\n\r\n\tfont-size: 11px;\r\n\tfont-family: 'Lucida Grande', sans-serif;\r\n\tfont-weight: bold;\r\n\tline-height: 16px;\r\n\ttext-shadow: 0 1px black;\r\n}\r\n\r\n\t.qtip-tipsy .qtip-titlebar{\r\n\t\tpadding: 6px 35px 0 10px;\r\n\t\tbackground-color: transparent;\r\n\t}\r\n\r\n\t.qtip-tipsy .qtip-content{\r\n\t\tpadding: 6px 10px;\r\n\t}\r\n\r\n\t.qtip-tipsy .qtip-icon{\r\n\t\tborder-color: #222;\r\n\t\ttext-shadow: none;\r\n\t}\r\n\r\n\t.qtip-tipsy .qtip-titlebar .ui-state-hover{\r\n\t\tborder-color: #303030;\r\n\t}\r\n\r\n\r\n/* Tipped style */\r\n.qtip-tipped{\r\n\tborder: 3px solid #959FA9;\r\n\r\n\t-moz-border-radius: 3px;\r\n\t-webkit-border-radius: 3px;\r\n\tborder-radius: 3px;\r\n\r\n\tbackground-color: #F9F9F9;\r\n\tcolor: #454545;\r\n\r\n\tfont-weight: normal;\r\n\tfont-family: serif;\r\n}\r\n\r\n\t.qtip-tipped .qtip-titlebar{\r\n\t\tborder-bottom-width: 0;\r\n\r\n\t\tcolor: white;\r\n\t\tbackground: #3A79B8;\r\n\t\tbackground-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));\r\n\t\tbackground-image: -webkit-linear-gradient(top, #3A79B8, #2E629D);\r\n\t\tbackground-image: -moz-linear-gradient(top, #3A79B8, #2E629D);\r\n\t\tbackground-image: -ms-linear-gradient(top, #3A79B8, #2E629D);\r\n\t\tbackground-image: -o-linear-gradient(top, #3A79B8, #2E629D);\r\n\t\tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);\r\n\t\t-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)\";\r\n\t}\r\n\r\n\t.qtip-tipped .qtip-icon{\r\n\t\tborder: 2px solid #285589;\r\n\t\tbackground: #285589;\r\n\t}\r\n\r\n\t\t.qtip-tipped .qtip-icon .ui-icon{\r\n\t\t\tbackground-color: #FBFBFB;\r\n\t\t\tcolor: #555;\r\n\t\t}\r\n\r\n\r\n/**\r\n * Twitter Bootstrap style.\r\n *\r\n * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11.\r\n * Does not work with IE 7.\r\n */\r\n.qtip-bootstrap{\r\n\t/** Taken from Bootstrap body */\r\n\tfont-size: 14px;\r\n\tline-height: 20px;\r\n\tcolor: #333333;\r\n\r\n\t/** Taken from Bootstrap .popover */\r\n\tpadding: 1px;\r\n\tbackground-color: #ffffff;\r\n\tborder: 1px solid #ccc;\r\n\tborder: 1px solid rgba(0, 0, 0, 0.2);\r\n\t-webkit-border-radius: 6px;\r\n\t-moz-border-radius: 6px;\r\n\tborder-radius: 6px;\r\n\t-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r\n\t-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r\n\tbox-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r\n\t-webkit-background-clip: padding-box;\r\n\t-moz-background-clip: padding;\r\n\tbackground-clip: padding-box;\r\n}\r\n\r\n\t.qtip-bootstrap .qtip-titlebar{\r\n\t\t/** Taken from Bootstrap .popover-title */\r\n\t\tpadding: 8px 14px;\r\n\t\tmargin: 0;\r\n\t\tfont-size: 14px;\r\n\t\tfont-weight: normal;\r\n\t\tline-height: 18px;\r\n\t\tbackground-color: #f7f7f7;\r\n\t\tborder-bottom: 1px solid #ebebeb;\r\n\t\t-webkit-border-radius: 5px 5px 0 0;\r\n\t\t-moz-border-radius: 5px 5px 0 0;\r\n\t\tborder-radius: 5px 5px 0 0;\r\n\t}\r\n\r\n\t\t.qtip-bootstrap .qtip-titlebar .qtip-close{\r\n\t\t\t/**\r\n\t\t\t * Overrides qTip2:\r\n\t\t\t * .qtip-titlebar .qtip-close{\r\n\t\t\t * [...]\r\n\t\t\t * right: 4px;\r\n\t\t\t * top: 50%;\r\n\t\t\t * [...]\r\n\t\t\t * border-style: solid;\r\n\t\t\t * }\r\n\t\t\t */\r\n\t\t\tright: 11px;\r\n\t\t\ttop: 45%;\r\n\t\t\tborder-style: none;\r\n\t\t}\r\n\r\n\t.qtip-bootstrap .qtip-content{\r\n\t\t/** Taken from Bootstrap .popover-content */\r\n\t\tpadding: 9px 14px;\r\n\t}\r\n\r\n\t.qtip-bootstrap .qtip-icon{\r\n\t\t/**\r\n\t\t * Overrides qTip2:\r\n\t\t * .qtip-default .qtip-icon {\r\n\t\t * border-color: #CCC;\r\n\t\t * background: #F1F1F1;\r\n\t\t * color: #777;\r\n\t\t * }\r\n\t\t */\r\n\t\tbackground: transparent;\r\n\t}\r\n\r\n\t\t.qtip-bootstrap .qtip-icon .ui-icon{\r\n\t\t\t/**\r\n\t\t\t * Overrides qTip2:\r\n\t\t\t * .qtip-icon .ui-icon{\r\n\t\t\t * width: 18px;\r\n\t\t\t * height: 14px;\r\n\t\t\t * }\r\n\t\t\t */\r\n\t\t\twidth: auto;\r\n\t\t\theight: auto;\r\n\r\n\t\t\t/* Taken from Bootstrap .close */\r\n\t\t\tfloat: right;\r\n\t\t\tfont-size: 20px;\r\n\t\t\tfont-weight: bold;\r\n\t\t\tline-height: 18px;\r\n\t\t\tcolor: #000000;\r\n\t\t\ttext-shadow: 0 1px 0 #ffffff;\r\n\t\t\topacity: 0.2;\r\n\t\t\tfilter: alpha(opacity=20);\r\n\t\t}\r\n\r\n\t\t.qtip-bootstrap .qtip-icon .ui-icon:hover{\r\n\t\t\t/* Taken from Bootstrap .close:hover */\r\n\t\t\tcolor: #000000;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tcursor: pointer;\r\n\t\t\topacity: 0.4;\r\n\t\t\tfilter: alpha(opacity=40);\r\n\t\t}\r\n\r\n\r\n/* IE9 fix - removes all filters */\r\n.qtip:not(.ie9haxors) div.qtip-content,\r\n.qtip:not(.ie9haxors) div.qtip-titlebar{\r\n\tfilter: none;\r\n\t-ms-filter: none;\r\n}\r\n\r\n\r\n\r\n.qtip .qtip-tip{\r\n\tmargin: 0 auto;\r\n\toverflow: hidden;\r\n\tz-index: 10;\r\n\r\n}\r\n\r\n\t/* Opera bug #357 - Incorrect tip position\r\n\thttps://github.com/Craga89/qTip2/issues/367 */\r\n\tx:-o-prefocus, .qtip .qtip-tip{\r\n\t\tvisibility: hidden;\r\n\t}\r\n\r\n\t.qtip .qtip-tip,\r\n\t.qtip .qtip-tip .qtip-vml,\r\n\t.qtip .qtip-tip canvas{\r\n\t\tposition: absolute;\r\n\r\n\t\tcolor: #123456;\r\n\t\tbackground: transparent;\r\n\t\tborder: 0 dashed transparent;\r\n\t}\r\n\r\n\t.qtip .qtip-tip canvas{ top: 0; left: 0; }\r\n\r\n\t.qtip .qtip-tip .qtip-vml{\r\n\t\tbehavior: url(#default#VML);\r\n\t\tdisplay: inline-block;\r\n\t\tvisibility: visible;\r\n\t}\r\n\r\n#qtip-overlay{\r\n\tposition: fixed;\r\n\tleft: 0; top: 0;\r\n\twidth: 100%; height: 100%;\r\n}\r\n\r\n\t/* Applied to modals with show.modal.blur set to true */\r\n\t#qtip-overlay.blurs{ cursor: pointer; }\r\n\r\n\t/* Change opacity of overlay here */\r\n\t#qtip-overlay div{\r\n\t\tposition: absolute;\r\n\t\tleft: 0; top: 0;\r\n\t\twidth: 100%; height: 100%;\r\n\r\n\t\tbackground-color: black;\r\n\r\n\t\topacity: 0.7;\r\n\t\tfilter:alpha(opacity=70);\r\n\t\t-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\";\r\n\t}\r\n\r\n","/**\r\n * CMB Magnific Builder SCSS\r\n *\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2015, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n//Display none things\r\n.magnific-builder #titlediv, .magnific-builder #submitdiv, .magnific-builder #google_maps_preview_metabox .handlediv, .magnific-builder #google_maps_preview_metabox .ui-sortable-handle, .magnific-builder #post-body-content, .magnific-builder #marker-icon-modal {\r\n display: none;\r\n}\r\n\r\n//Border none things\r\n.magnific-builder #google_maps_preview_metabox {\r\n border: none;\r\n}\r\n\r\n//No margin or padding things\r\n.magnific-builder #google_maps_preview_metabox .inside {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n/*-------------------------------------\r\nMagnific Builder\r\n---------------------------------------*/\r\n.magnific-builder#post {\r\n position: relative;\r\n margin: 20px;\r\n padding: 0;\r\n background: #EEE;\r\n width: auto;\r\n overflow: hidden;\r\n\r\n #google-map-wrap {\r\n\tborder: none;\r\n }\r\n\r\n #poststuff {\r\n\tpadding-top: 0;\r\n }\r\n\r\n #cmb2-metabox-google_maps_preview_metabox {\r\n\t> div {\r\n\t padding-top: 0;\r\n\t}\r\n }\r\n .magnific-builder#post .places-loading {\r\n\ttop: auto;\r\n\tright: -175px;\r\n\tbottom: 15px;\r\n\tleft: auto;\r\n }\r\n\r\n #map-toolbar {\r\n\tmin-width: 678px;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nMagnific Builder Sidebar\r\n---------------------------------------*/\r\n\r\n.magnific-builder#post {\r\n\r\n #postbox-container-1 {\r\n\tmargin-left: 0;\r\n\tpadding: 90px 0 50px;\r\n\twidth: 300px !important;\r\n\tbackground: url('../img/maps-builder-logo-small-non-pro.png') no-repeat 15px 15px transparent;\r\n\r\n\t&:after {\r\n\t content: ' ';\r\n\t position: absolute;\r\n\t bottom: 15px;\r\n\t right: 130px;\r\n\t background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;\r\n\t width: 104px;\r\n\t height: 16px;\r\n\t}\r\n\t/*-------------------------------------\r\n\t Sidebar\r\n\t---------------------------------------*/\r\n\t#side-sortables {\r\n\t border-left: 1px solid #DDD;\r\n\t border-bottom: 1px solid #DDD;\r\n\t background-color: #F7F7F7;\r\n\t overflow-y: auto;\r\n\t overflow-x: hidden;\r\n\t height: 100%;\r\n\t min-height: 100%;\r\n\t position: relative;\r\n\r\n\t //Blue sections\r\n\t .ui-sortable-handle {\r\n\t\tbackground: $blue;\r\n\t\tcolor: #FFF;\r\n\r\n\t\t&:hover {\r\n\t\t background: darken($blue, 10%);\r\n\t\t}\r\n\t }\r\n\t .handlediv {\r\n\t\tcolor: #FFF;\r\n\t }\r\n\r\n\t}\r\n\r\n\t.magnific-submit {\r\n\t position: absolute;\r\n\t bottom: 10px;\r\n\t right: 10px;\r\n\t display: block;\r\n\t}\r\n\r\n\t/*-------------------------------------\r\n\tGoogle Places\r\n\t---------------------------------------*/\r\n\t#google_maps_search_options {\r\n\r\n\t .cmb2-id-gmb-search-radius {\r\n\t\tmargin-top:15px;\r\n\t\tborder-top:none;\r\n\t }\r\n\r\n\t .cmb2-id-gmb-places-search-multicheckbox {\r\n\t\tul li {\r\n\t\t width: 50%;\r\n\t\t position: relative;\r\n\t\t .cmb2-option {\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0;\r\n\t\t\tleft: 0;\r\n\t\t }\r\n\t\t label {\r\n\t\t\tpadding-left: 25px;\r\n\t\t\tdisplay: block;\r\n\t\t\tpadding-right: 3px;\r\n\t\t }\r\n\t\t}\r\n\t }\r\n\t} //#google_maps_search_options\r\n\r\n\t/*-------------------------------------\r\n\tMap Markers\r\n\t---------------------------------------*/\r\n\ta.drop-marker {\r\n\t margin-top: 10px;\r\n\t display: block;\r\n\t width: 110px;\r\n\t text-align: center;\r\n\t}\r\n\r\n\t.white-popup {\r\n\t display: none;\r\n\t}\r\n\r\n\t.places-change-message .button {\r\n\t margin-bottom: 10px;\r\n\t float: left;\r\n\t}\r\n\r\n }\r\n\r\n #post-body.columns-2 #side-sortables {\r\n\tmargin-right: 0;\r\n\twidth: 300px !important;\r\n }\r\n\r\n .postbox {\r\n\tmargin: 0;\r\n\tborder-left: none;\r\n\tborder-right: none;\r\n\tborder-bottom: none;\r\n\r\n\t&:last-of-type {\r\n\t border-bottom: 1px solid #DDD;\r\n\t}\r\n }\r\n\r\n .toggle-repeater-groups {\r\n\tdisplay: block;\r\n\twidth: 140px;\r\n\ttext-align: center;\r\n\tmargin: 10px 0 0;\r\n }\r\n button.edit-title {\r\n\tdisplay: inline-block;\r\n }\r\n}\r\n\r\n/* No Dragging */\r\n.magnific-builder .postbox .hndle {\r\n cursor: pointer;\r\n &:hover {\r\n\tcolor: #23282d;\r\n\tbackground: #f5f5f5;\r\n }\r\n}\r\n\r\n.magnific-builder#post .places-loading {\r\n top: auto;\r\n right: auto;\r\n bottom: 0;\r\n left: 0;\r\n}\r\n\r\n#wpbody-content .magnific-submit {\r\n display: none;\r\n}\r\n\r\n/*-------------------------------------\r\nEditor Button\r\n---------------------------------------*/\r\n#map-builder {\r\n margin: 5px 12px 10px;\r\n display: block;\r\n text-align: center;\r\n\r\n span.dashicons {\r\n\tposition: relative;\r\n\ttop: 2px;\r\n\tmargin-right: 3px;\r\n }\r\n\r\n}\r\n\r\n/*-------------------------------------\r\nModal within Modal\r\n---------------------------------------*/\r\n.magnific-builder #poststuff .white-popup {\r\n position: absolute;\r\n max-width: none;\r\n margin: 0;\r\n padding: 0;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n z-index: 100008;\r\n opacity: 1;\r\n background: rgba(88, 88, 88, 0.8);\r\n -webkit-transition: all 0.3s;\r\n -moz-transition: all 0.3s;\r\n transition: all 0.3s;\r\n overflow-y: auto;\r\n display: table;\r\n @include clearfix;\r\n\r\n .inner-modal-wrap {\r\n\tdisplay: table-cell;\r\n\tvertical-align: middle;\r\n\r\n\t.inner-modal-container {\r\n\t overflow-y: auto;\r\n\t max-height: 100%;\r\n\t}\r\n\r\n\t.inner-modal {\r\n\t max-width: 600px;\r\n\t margin: 30px auto;\r\n\t background: #FFF;\r\n\t padding: 20px;\r\n\t box-shadow: 0 0 8px rgba(0, 0, 0, 0.45);\r\n\t position: relative;\r\n\t}\r\n\r\n }\r\n\r\n .save-marker-icon {\r\n\tposition: relative;\r\n\tborder: none;\r\n\tmargin-top: 15px;\r\n }\r\n\r\n}\r\n\r\n.pac-container {\r\n z-index: 100020 !important;\r\n}\r\n\r\nbutton.gmb-modal-close {\r\n border: none;\r\n background-color: transparent;\r\n color: #333;\r\n cursor: pointer;\r\n outline: none;\r\n padding: 0;\r\n z-index: 9999;\r\n}\r\n\r\n.map-modal-upsell {\r\n display: none;\r\n}\r\n\r\n//Upsell\r\n.mfp-container .map-modal-upsell {\r\n display: block;\r\n position: absolute;\r\n top: 35px;\r\n right: -261px;\r\n text-align: center;\r\n\r\n p {\r\n\tfont-size: 11px;\r\n\tfont-style: italic;\r\n\tmargin: 0 0 2px;\r\n\tcolor: #AAA;\r\n }\r\n\r\n a.upsell-button {\r\n\twidth: 70px;\r\n }\r\n\r\n}\r\n","/*!\r\n * Maps Builder Admin Settings Pages SCSS/CSS\r\n *\r\n * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner\r\n * @package: GMB\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2015, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n#google-map-wrap {\r\n position: relative;\r\n border: 1px solid #DDD;\r\n}\r\n\r\n.hover-transition, .marker-icon-row .icon, .marker-row .marker-item {\r\n @include easing-transition;\r\n}\r\n\r\n.box-sizing {\r\n box-sizing: border-box;\r\n -moz-box-sizing: border-box;\r\n -webkit-box-sizing: border-box;\r\n}\r\n\r\n.cmb2-id-gmb-theme-json, #marker-icon-modal, .gmb-hidden {\r\n display: none;\r\n}\r\n\r\n.marker-info-wrapper {\r\n background-color: #F1F1F1;\r\n margin: 8px 0 4px;\r\n padding: 12px 12px 12px 12px;\r\n font-size: 13px;\r\n > div {\r\n\tmargin: 0 0 5px;\r\n\tpadding: 0;\r\n }\r\n > div.rating-wrap {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n }\r\n}\r\n\r\n.repeatable-grouping {\r\n .cmb-nested-table td {\r\n\tpadding-top: 3px;\r\n\tpre textarea {\r\n\t height: 50px;\r\n\t}\r\n }\r\n .cmb-nested-table td pre {\r\n\tmargin: 0;\r\n }\r\n}\r\n\r\n.new-window, span.new-window {\r\n background: url('../img/new-window-icon.png') no-repeat right 3px transparent;\r\n padding-right: 16px;\r\n}\r\n\r\nspan.new-window {\r\n padding-right: 0;\r\n background-position: 0 0;\r\n display: inline-block;\r\n width: 10px;\r\n height: 10px;\r\n margin: 0 0 0 2px;\r\n position: relative;\r\n top: 1px;\r\n}\r\n\r\n.mfp-content #marker-icon-modal {\r\n display: block;\r\n}\r\n\r\n/*Shortcode Input */\r\n\r\n.shortcode-wrap {\r\n margin: 1px 14px 12px 11px;\r\n label {\r\n\tmargin: 0 0 3px;\r\n\tdisplay: block;\r\n\tcursor: default;\r\n }\r\n\r\n .shortcode-input {\r\n\tmargin: 0;\r\n\twidth: 100%;\r\n }\r\n}\r\n\r\n/*------------------------------------------\r\n Messages\r\n--------------------------------------------*/\r\n.wpgp-message {\r\n background-color: #FFF;\r\n border-left: 4px solid #7AD03A;\r\n -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);\r\n box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);\r\n box-sizing: border-box;\r\n -webkit-box-sizing: border-box;\r\n -moz-box-sizing: border-box;\r\n padding: 1px 12px;\r\n display: none;\r\n}\r\n\r\n.wpgp-message.warning-message {\r\n border-left: 4px solid #d40000;\r\n margin: 20px 0 0;\r\n}\r\n\r\n.wpgp-message p, .form-table td .wpgp-message p {\r\n margin: .5em 0;\r\n padding: 2px;\r\n}\r\n\r\n.places-change-message {\r\n margin-bottom: 15px;\r\n margin-right: 2px;\r\n p {\r\n\tfloat: left;\r\n }\r\n .button {\r\n\tfloat: right;\r\n\tmargin-top: 5px;\r\n }\r\n}\r\n\r\n#google-map-wrap .wpgp-message {\r\n margin-top: 20px;\r\n}\r\n\r\n/*------------------------------------------\r\n Google Map Metabox\r\n--------------------------------------------*/\r\n#cmb2-metabox-google_maps_preview_metabox > div {\r\n padding: 5px 0 0;\r\n margin: 0;\r\n}\r\n\r\n#map {\r\n width: 100%;\r\n margin: 0 auto;\r\n}\r\n\r\n.places-loading {\r\n background: url('../img/spinner.gif') no-repeat center right transparent;\r\n font-style: italic;\r\n position: absolute;\r\n top: -34px;\r\n right: 31px;\r\n padding: 0 25px 0 0;\r\n display: none;\r\n}\r\n\r\n.cmb2-id-gmb-map-type td {\r\n padding-bottom: 0;\r\n}\r\n\r\n.cmb2-id-gmb-map-type-control .cmb2-option {\r\n margin: 5px 0 10px;\r\n}\r\n\r\n/*------------------------------------------\r\n General Styles\r\n--------------------------------------------*/\r\n.cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox {\r\n display: none;\r\n}\r\n\r\n#google_maps_details_options tr {\r\n display: none;\r\n}\r\n\r\n#google_maps_details_options tr.cmb2-id-gmb-show-poi {\r\n display: table-row;\r\n}\r\n\r\n.snazzy-link {\r\n font-size: 10px;\r\n text-transform: uppercase;\r\n font-style: normal;\r\n display: inline-block;\r\n}\r\n\r\n#width_height_wrap > div {\r\n margin: 0 0 10px;\r\n}\r\n\r\n.inner-sidebar table.cmb_metabox label.size-label, #side-sortables table.cmb_metabox label.size-label, label.size-label {\r\n font-weight: normal;\r\n font-style: italic;\r\n}\r\n\r\n#poststuff h2.cmb-group-name {\r\n @include modal-label;\r\n}\r\n\r\n/*------------------------------------------\r\n Place Markers\r\n--------------------------------------------*/\r\n#infobubble-content {\r\n padding: 0 0 0 0;\r\n margin: 3px -20px 0 0;\r\n min-width: 314px;\r\n min-height: 80px;\r\n height: 100%;\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n cursor: default;\r\n\r\n p {\r\n\tfont-size: 12px;\r\n\tmargin: 0 0 7px;\r\n\tcolor: #2C2C2C;\r\n }\r\n .place-title {\r\n\tborder: 1px solid #FFF;\r\n\tfont-family: Roboto, Arial, sans-serif;\r\n\tfont-size: 16px;\r\n\tline-height: 21px;\r\n\tfont-weight: 700;\r\n\tmin-height: 21px;\r\n\twhite-space: normal;\r\n\tpadding-right: 20px;\r\n }\r\n .place-description {\r\n\twhite-space: normal;\r\n }\r\n}\r\n\r\n.marker-confirm-place {\r\n margin: 0 8px 4px 0;\r\n display: inline-block;\r\n}\r\n\r\n.marker-confirm-place:hover {\r\n cursor: pointer;\r\n}\r\n\r\n/* Hacky fix to prevent scrollbars */\r\n#google_maps_preview_metabox .gm-style-iw, #google_maps_preview_metabox .gm-style-iw > div {\r\n overflow: visible !important;\r\n}\r\n\r\n#google_maps_preview_metabox .gm-style-iw > div > div {\r\n overflow: visible !important;\r\n}\r\n\r\n#infobubble-content {\r\n overflow: hidden !important;\r\n}\r\n\r\n#infobubble-content.loading {\r\n background: url('../img/loading-large.GIF') no-repeat center center #FFF;\r\n}\r\n\r\n#google-map-wrap div#infobubble-content > div {\r\n white-space: normal;\r\n}\r\n\r\n/* Ratings */\r\n#infobubble-content {\r\n .rating-wrap {\r\n\toverflow: hidden;\r\n }\r\n .numeric-rating {\r\n\tfont-size: 16px;\r\n\tcolor: #DD4B39;\r\n\tfont-weight: 400;\r\n\tfloat: left;\r\n\tmargin: 0 5px 0 0;\r\n }\r\n .star-rating-wrap {\r\n\tbackground: url('../img/review_stars.png') no-repeat 0 0 transparent;\r\n\theight: 13px;\r\n\twidth: 67px;\r\n\tfloat: left;\r\n\tmargin: 4px 0 0;\r\n }\r\n .star-rating-size {\r\n\tbackground: url('../img/review_stars.png') no-repeat 0 -13px transparent;\r\n\theight: 13px;\r\n }\r\n}\r\n\r\n/*------------------------------------------\r\n Editable Marker\r\n--------------------------------------------*/\r\n\r\n#edit-toolbar {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n text-align: right;\r\n > li {\r\n\tmargin: 0 4px;\r\n\tcursor: pointer;\r\n\tdisplay: inline-block;\r\n\tcontent: '';\r\n\theight: 21px;\r\n\twidth: 21px;\r\n\topacity: .5;\r\n\tbackground: url('../img/icons-infowindow-002.svg');\r\n\t&:hover {\r\n\t opacity: .75;\r\n\t}\r\n\r\n\t&.trash-marker {\r\n\t background-position: -42px 0;\r\n\t}\r\n\r\n\t&.edit-info {\r\n\t background: url('../img/icons-app-000.svg');\r\n\t background-position: 21px 21px;\r\n\t}\r\n\r\n }\r\n\r\n}\r\n\r\n/*------------------------------------------\r\nDisplay Options\r\n--------------------------------------------*/\r\n\r\n#lat-lng-wrap input[type=text].latitude, #lat-lng-wrap input[type=text].longitude,\r\n#side-sortables #lat-lng-wrap input[type=text].latitude, #side-sortables #lat-lng-wrap input[type=text].longitude {\r\n width: 100px;\r\n float: left;\r\n}\r\n\r\n/* Mini message */\r\n\r\n.lat-lng-change-message {\r\n float: left;\r\n clear: both;\r\n margin: 10px 0 0;\r\n width: 100%;\r\n > p {\r\n\tfloat: left;\r\n }\r\n}\r\n\r\n.lat-lng-update-btn {\r\n float: right;\r\n margin: 7px 0 0 !important;\r\n}\r\n\r\n/*-------------------------------------\r\nSave Info Window Toolbar\r\n---------------------------------------*/\r\n#save-toolbar {\r\n margin: 0;\r\n padding: 0;\r\n float: left;\r\n > li {\r\n\tdisplay: inline-block;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\t&:first-child {\r\n\t margin: 0 5px 0 0;\r\n\t}\r\n\t.google-btn {\r\n\t width: 75px;\r\n\t}\r\n }\r\n}\r\n\r\n#infobubble-content .marker-edit-link-wrap {\r\n a {\r\n\topacity: 0.5;\r\n\tbox-shadow: none;\r\n\toutline: none;\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\r\n\t&.marker-edit-link {\r\n\t background: url('../img/marker-btn.png') no-repeat 0 0 transparent;\r\n\t margin: 4px 0 0;\r\n\t display: block;\r\n\t float: right;\r\n\t}\r\n\r\n\t&:hover {\r\n\t opacity: 1;\r\n\t}\r\n\r\n }\r\n}\r\n\r\n#save-toolbar > li .marker-edit-link {\r\n opacity: 0.75;\r\n}\r\n\r\n#infobubble-content .edit-place-title {\r\n width: 290px;\r\n margin: 0 0 10px;\r\n}\r\n\r\n#infobubble-content .edit-place-description {\r\n display: block;\r\n font-size: 12px;\r\n width: 100%;\r\n min-height: 100px;\r\n}\r\n\r\n/*-------------------------------------\r\nMap Edit Quick Toolbar\r\n---------------------------------------*/\r\n#map-toolbar {\r\n position: absolute;\r\n left: 50%;\r\n bottom: -1px;\r\n transform: translateX(-50%);\r\n background: #FFF;\r\n padding: 3px 1px 0;\r\n border-top: 1px solid #DDD;\r\n border-left: 1px solid #DDD;\r\n border-right: 1px solid #DDD;\r\n min-width: 575px;\r\n\r\n #title {\r\n\tpadding: 3px;\r\n }\r\n\r\n .drop-marker .dashicons {\r\n\tmargin: 5px 0 0;\r\n }\r\n\r\n button {\r\n\tmargin: 0 2px;\r\n\t.dashicons {\r\n\t font-size: 12px;\r\n\t width: 12px;\r\n\t margin: 5px 2px 0 -2px;\r\n\t}\r\n\t&.edit-title {\r\n\t display: none; //only show in modal\r\n\t}\r\n }\r\n\r\n //Lat Lng Update\r\n .live-lat-lng-wrap {\r\n\tborder: 1px solid #DDD;\r\n\tpadding: 0;\r\n\tmargin: 0 2px;\r\n\tdisplay: inline-block;\r\n\twidth: 250px;\r\n\tbackground-color: #FAFAFA;\r\n\theight: 24px;\r\n\toverflow: hidden;\r\n\tbox-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\r\n\r\n\t.live-latitude-wrap, .live-longitude-wrap {\r\n\t float: left;\r\n\t margin-left: 6px;\r\n\r\n\t span {\r\n\t\tline-height: 22px;\r\n\t\tfloat: left;\r\n\t }\r\n\t}\r\n\r\n\t.live-longitude, .live-latitude {\r\n\t font-size: 11px;\r\n\t margin: 0;\r\n\t padding: 0;\r\n\t width: 60px;\r\n\t white-space: nowrap;\r\n\t overflow: hidden;\r\n\t}\r\n\t.live-longitude-label, .live-latitude-label {\r\n\t font-size: 10px;\r\n\t color: #AAA;\r\n\t font-style: italic;\r\n\t display: block;\r\n\t padding: 0 2px 0 0;\r\n\t}\r\n\r\n\tbutton {\r\n\t float: left;\r\n\t margin: -2px 0 -2px -2px;\r\n\t border-radius: 0;\r\n\t height: 26px;\r\n\t box-shadow: none;\r\n\t &:hover {\r\n\t\tbox-shadow: none;\r\n\t\tborder-color: #cccccc;\r\n\t }\r\n\r\n\t}\r\n\r\n }\r\n\r\n}\r\n\r\n//Hide on super small resolutions\r\n@media(max-width: 900px) {\r\n #map-toolbar {\r\n\tdisplay: none;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nModal styles\r\n---------------------------------------*/\r\n.map-autocomplete-wrap,\r\n.map-title-wrap {\r\n label {\r\n\t@include modal-label;\r\n\tmargin-bottom: 0;\r\n }\r\n p.cmb2-metabox-description {\r\n\tpadding: 8px 0;\r\n }\r\n input {\r\n\twidth: 100%;\r\n }\r\n}\r\n\r\n.map-autocomplete-wrap label {\r\n position: relative;\r\n &:after {\r\n\tcontent: ' ';\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 120px;\r\n\tbackground: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;\r\n\twidth: 104px;\r\n\theight: 16px;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nGoogle Style Buttons\r\n---------------------------------------*/\r\n.google-btn {\r\n -webkit-border-radius: 2px;\r\n border-radius: 2px;\r\n cursor: default;\r\n font-weight: 300;\r\n font-size: 13px;\r\n text-align: center;\r\n white-space: nowrap;\r\n height: 27px;\r\n line-height: 27px;\r\n min-width: 54px;\r\n outline: 0;\r\n padding: 0 8px;\r\n\r\n}\r\n\r\n.google-btn-blue {\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n background-color: #4D90FE;\r\n background-image: -webkit-linear-gradient(top, #4D90FE, #4787ED);\r\n background-image: linear-gradient(top, #4d90fe, #4787ed);\r\n border: 1px solid #3079ED;\r\n color: #FFF;\r\n &:hover {\r\n\t-webkit-box-shadow: none;\r\n\tbox-shadow: none;\r\n\tbackground-color: #357AE8;\r\n\tbackground-image: -webkit-linear-gradient(top, #4D90FE, #357AE8);\r\n\tbackground-image: linear-gradient(top, #4d90fe, #357ae8);\r\n\tborder: 1px solid #2F5BB7;\r\n\tborder-bottom-color: #2F5BB7;\r\n }\r\n &:active, &:focus {\r\n\t-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);\r\n\tbox-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);\r\n\tbackground: #357AE8;\r\n\tborder: 1px solid #2F5BB7;\r\n\tborder-top: 1px solid #2F5BB7;\r\n }\r\n}\r\n\r\n.google-btn-default {\r\n -webkit-box-shadow: none;\r\n box-shadow: none;\r\n background-color: #F5F5F5;\r\n background-image: -webkit-linear-gradient(top, #F5F5F5, #F1F1F1);\r\n background-image: linear-gradient(top, #f5f5f5, #f1f1f1);\r\n color: #333;\r\n border: 1px solid #DCDCDC;\r\n border: 1px solid rgba(0, 0, 0, 0.1);\r\n\r\n &:hover {\r\n\t-webkit-box-shadow: none;\r\n\tbox-shadow: none;\r\n\tbackground-color: #F8F8F8;\r\n\tbackground-image: -webkit-linear-gradient(top, #F8F8F8, #F1F1F1);\r\n\tbackground-image: linear-gradient(top, #f8f8f8, #f1f1f1);\r\n\tborder: 1px solid #C6C6C6;\r\n\tcolor: #111;\r\n }\r\n\r\n &:active {\r\n\t-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r\n\tbox-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\r\n\tbackground: #F8F8F8;\r\n\tcolor: #111;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nTemporary Info Window\r\n---------------------------------------*/\r\n\r\n.infowindow-toolbar {\r\n display: block;\r\n margin: 0;\r\n padding: 8px 0 5px;\r\n}\r\n\r\n.add-marker {\r\n text-decoration: none;\r\n}","/**\r\n * CMB2 Customized SCSS\r\n *\r\n * @description Here we customize the look-and-feel of CMB2 to suit GMB\r\n * @package Give\r\n * @subpackage SCSS/Admin\r\n * @copyright Copyright (c) 2015, WordImpress\r\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*------------------------------------------\r\n CMB2 Interface\r\n--------------------------------------------*/\r\n.cmb2-id-gmb-places-search-multicheckbox {\r\n ul {\r\n\toverflow: hidden;\r\n }\r\n li {\r\n\tfloat: left;\r\n\twidth: 33%;\r\n }\r\n .cmb2-metabox-description {\r\n\tmargin-top: 10px;\r\n\tmargin-right: 2px;\r\n }\r\n}\r\n\r\n//Hide/Show some borders\r\n#cmb2-metabox-google_maps_search_options .cmb2-id-gmb-show-places {\r\n border-bottom: none !important;\r\n margin-bottom: 0 !important;\r\n}\r\n\r\n#post-body-content #cmb2-metabox-google_maps_search_options .cmb2-id-gmb-search-radius, #post-body .cmb2-id-gmb-search-radius {\r\n border-top: 1px solid #e9e9e9;\r\n}\r\n\r\n/*-------------------------------------\r\nAutocomplete Metabox\r\n---------------------------------------*/\r\n#cmb2-metabox-google_maps_markers {\r\n .search-autocomplete {\r\n\twidth: 78%;\r\n\tmargin-right: 10px;\r\n }\r\n .autocomplete-wrap {\r\n\tp {\r\n\t @include field-description;\r\n\t}\r\n }\r\n\r\n a.drop-marker {\r\n\tfont-style: normal;\r\n\t.dashicons {\r\n\t font-size: 14px;\r\n\t margin: 4px 0 0;\r\n\t width: 16px;\r\n\t}\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nMap Markers\r\n---------------------------------------*/\r\n#google_maps_markers {\r\n .cmb-add-row {\r\n\tdisplay: none;\r\n }\r\n}\r\n\r\n#poststuff .postbox-container {\r\n .cmb-repeatable-group:not(:last-of-type) {\r\n\tborder-bottom: 1px solid #e9e9e9;\r\n\tpadding: 0 0 15px;\r\n }\r\n .cmb-repeat-group-wrap .cmb-row:not(:last-of-type) {\r\n\tmargin-bottom: 10px;\r\n }\r\n}\r\n\r\n#gmb_markers_group_repeat.cmb-remove-field-row {\r\n margin-bottom: 15px;\r\n}\r\n\r\n/*-------------------------------------\r\nSidebar\r\n---------------------------------------*/\r\n#poststuff .inner-sidebar, #poststuff #side-sortables {\r\n\r\n .inside {\r\n\tmargin-top: 0;\r\n\tpadding-top: 12px;\r\n }\r\n\r\n .cmb-row {\r\n\tmargin: 0 0 15px;\r\n\tpadding: 0;\r\n\r\n\t&:not(:last-of-type) {\r\n\t border-bottom: 0;\r\n\t}\r\n\r\n\t&:last-child, &:last-of-type {\r\n\t margin-bottom: 5px;\r\n\t}\r\n }\r\n\r\n .cmb-th {\r\n\tbackground: transparent;\r\n\tpadding: 0;\r\n\tposition: relative;\r\n\r\n\tlabel {\r\n\t border: none;\r\n\t &:after {\r\n\t\tdisplay: none;\r\n\t }\r\n\t}\r\n\r\n }\r\n\r\n .cmb-td {\r\n\t//repeater\r\n\t&.cmb-nested {\r\n\t padding-left: 12px;\r\n\t padding-right: 12px;\r\n\t}\r\n }\r\n\r\n /*-------------------------------------\r\n Sidebar Fields\r\n ---------------------------------------*/\r\n select {\r\n\twidth: 100%;\r\n }\r\n .lat-lng-wrap {\r\n\tmargin-top: 0;\r\n }\r\n .lat-lng-wrap.lng-wrap {\r\n\tmargin-bottom: 0;\r\n }\r\n\r\n .cmb2-metabox-description, p.cmb2-metabox-description {\r\n\t@include field-description;\r\n }\r\n\r\n /*-------------------------------------\r\n Sidebar Repeater Field Groups\r\n ---------------------------------------*/\r\n h2.cmb-group-name {\r\n\t@include modal-label;\r\n }\r\n\r\n .cmb-repeatable-group {\r\n\r\n\t.cmb-repeatable-grouping {\r\n\t margin: 0 0 8px;\r\n\t border: none;\r\n\t border-radius: 5px;\r\n\t overflow: hidden;\r\n\r\n\t .cmb-group-title {\r\n\t\tmargin: 0;\r\n\t\tpadding: 8px 8px 8px 30px;\r\n\t\tcursor: pointer;\r\n\t\tbackground: $orange;\r\n\t\tborder: none;\r\n\t\tcolor: #FFF;\r\n\t\tfont-weight: bold;\r\n\t }\r\n\t .cmbhandle {\r\n\t\tcolor: #FFF;\r\n\t }\r\n\t .cmbhandle {\r\n\t\tright: 0;\r\n\t\ttop: 0;\r\n\t }\r\n\r\n\t > .cmb-remove-group-row {\r\n\t\ttop: 6px;\r\n\t\tcolor: #FFF;\r\n\t }\r\n\r\n\t}\r\n\r\n\t.cmb-field-list {\r\n\t border-left: 1px solid #EEE;\r\n\t border-right: 1px solid #EEE;\r\n\t}\r\n\r\n\t.cmb-remove-row {\r\n\t margin: 0;\r\n\t padding: 0;\r\n\t}\r\n\r\n\t.cmb-add-row {\r\n\t margin: 15px 0 10px;\r\n\t}\r\n\r\n }\r\n\r\n .drop-marker {\r\n\tmargin-bottom: 15px;\r\n }\r\n\r\n}\r\n\r\n//Non-magnific Builder Repeater styles\r\n#postbox-container-2 #cmb2-metabox-google_maps_markers {\r\n\r\n .toggle-repeater-groups {\r\n\tfloat: right;\r\n }\r\n\r\n .cmb-repeat-group-wrap {\r\n\tpadding: 0;\r\n }\r\n\r\n .cmb-group-description .cmb-th {\r\n\tpadding-right: 0;\r\n }\r\n\r\n}\r\n\r\np.cmb2-metabox-description {\r\n font-weight: normal;\r\n}\r\n\r\na.wp-color-result {\r\n height: 24px;\r\n}\r\n\r\n/*-------------------------------------\r\nCMB2 within Magnific\r\n---------------------------------------*/\r\n\r\ndiv.white-popup {\r\n .cmb-th {\r\n\twidth: 100%;\r\n\tpadding: 0;\r\n\tlabel {\r\n\t @include modal-label;\r\n\t}\r\n }\r\n .cmb-td {\r\n\twidth: 100%;\r\n\tpadding: 15px 0;\r\n }\r\n\r\n}\r\n\r\n/*-------------------------------------\r\nTooltips\r\n---------------------------------------*/\r\n.gmb-tooltip-field {\r\n > div.cmb-th {\r\n\toverflow: hidden;\r\n\r\n\tlabel {\r\n\t float: left;\r\n\r\n\t}\r\n\r\n\t.gmb-help-icon {\r\n\t content: ' ';\r\n\t background: url('../img/help.png') no-repeat 0 0 transparent;\r\n\t background-size: 15px;\r\n\t display: inline-block;\r\n\t margin: 0 0 -2px 8px;\r\n\t width: 16px;\r\n\t height: 16px;\r\n\t opacity: 0.4;\r\n\t cursor: pointer;\r\n\t @include easing-transition;\r\n\t}\r\n\r\n\t.gmb-help-icon:hover {\r\n\t opacity: 1;\r\n\t}\r\n\r\n }\r\n}\r\n\r\n.gmb-tooltip-text {\r\n display: none;\r\n}","/*!\r\n * Maps Builder Admin Settings Pages SCSS/CSS\r\n *\r\n * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner\r\n * @package: GMB\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2015, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n.clear:before,\r\n.clear:after {\r\n content: \" \";\r\n display: table;\r\n}\r\n\r\n.clear:after {\r\n clear: both;\r\n}\r\n\r\n.google_maps_page_gmb_settings {\r\n\r\n .wrap {\r\n\tmargin-left: -5px;\r\n }\r\n\r\n table.form-table {\r\n\tmargin: 0 0 20px;\r\n }\r\n\r\n .gmb-submit-wrap {\r\n\tclear: both;\r\n\tbackground: #f5f5f5;\r\n\tborder-color: #dfdfdf;\r\n\toverflow: auto;\r\n\tmargin: 20px 0 8px;\r\n\tpadding: 12px;\r\n\tborder-width: 1px;\r\n\tborder-style: solid;\r\n\tfont-size: 13px;\r\n\tline-height: 2.1em;\r\n }\r\n\r\n .cmb-th {\r\n\twidth: 20%;\r\n }\r\n\r\n .cmb-td {\r\n\twidth: 80%;\r\n }\r\n\r\n}\r\n\r\n/*---------------------------\r\nWelcome Header\r\n-----------------------------*/\r\n.welcome-header {\r\n margin-bottom: 20px;\r\n\r\n .main-heading {\r\n\tfont-size: 36px;\r\n\tfont-weight: 400;\r\n\tline-height: 1.1em;\r\n\tmargin: 10px 0 20px;\r\n }\r\n\r\n .main-subheading {\r\n\tfont-size: 20px;\r\n\tline-height: 1.4em;\r\n\tmargin: 0;\r\n }\r\n\r\n .logo-svg {\r\n\tmargin: 15px 0 0;\r\n\tsvg {\r\n\t height: 185px;\r\n\t}\r\n }\r\n\r\n .logo-svg.logo-svg-small {\r\n\tfloat: right;\r\n\tmargin: 0;\r\n }\r\n\r\n .new-window {\r\n\tbackground: url('../img/new-window-icon.png') no-repeat right 5px transparent;\r\n\tpadding-right: 13px;\r\n\tmargin-right: 4px;\r\n }\r\n\r\n}\r\n\r\n/*------------------------------------------\r\nWelcome Closed heading\r\n--------------------------------------------*/\r\n.gmb-plugin-heading {\r\n display: none;\r\n + #Layer_1 {\r\n\twidth: auto;\r\n\theight: 37px;\r\n\tmargin: 0 10px 0 5px;\r\n }\r\n}\r\n\r\na.button.gmb-orange-btn, .gmb-orange-btn {\r\n @include orange-button;\r\n}\r\n\r\n#wpwrap .gmb-settings-header-btn {\r\n margin: 5px 0 0;\r\n}\r\n\r\n/*------------------------------------------\r\nSocial Media\r\n--------------------------------------------*/\r\n.social-items-wrap {\r\n float: left;\r\n > div {\r\n\tdisplay: inline-block;\r\n }\r\n\r\n .fb-item-wrap {\r\n\twidth: 100px;\r\n }\r\n .twitter-item-wrap {\r\n\twidth: 145px;\r\n }\r\n .google-plus {\r\n\tmargin-left: 20px;\r\n\twidth: 200px;\r\n }\r\n\r\n .wordimpress-logo {\r\n\tposition: relative;\r\n\ttop: 10px;\r\n\tleft: -17px;\r\n\ta {\r\n\t display: block;\r\n\t}\r\n\t.logo-link {\r\n\t background: url('../img/wordimpress-logo-small.png') no-repeat 0 0 transparent;\r\n\t width: 100px;\r\n\t height: 40px;\r\n\t}\r\n }\r\n\r\n .gmb-settings-header-btn {\r\n\tmargin-top: -6px !important;\r\n }\r\n\r\n}\r\n\r\n.hide-welcome {\r\n margin: 21px 0 0 30px;\r\n display: inline-block;\r\n\r\n span {\r\n\tbackground: url('../img/arrows.png') no-repeat 0 -33px rgba(0, 0, 0, 0);\r\n\twidth: 15px;\r\n\theight: 14px;\r\n\tdisplay: inline-block;\r\n\tmargin-left: 3px;\r\n }\r\n}\r\n\r\n.pull-left {\r\n float: left;\r\n}\r\n\r\n.pull-right {\r\n float: right;\r\n}\r\n\r\n.small-desc {\r\n font-size: 12px;\r\n font-style: italic;\r\n color: #B3B3B3;\r\n}\r\n\r\n/*---------------------------\r\nMap Options Tab\r\n-----------------------------*/\r\n\r\n.size-label {\r\n margin: 8px 10px 0 0;\r\n font-style: italic;\r\n width: 50px;\r\n}\r\n\r\n.width_unit_label, .width_radio, .map-width, .map-height, .size-label, .radio-left, .label-left {\r\n float: left !important;\r\n}\r\n\r\n/*---------------------------\r\n Map Size\r\n ----------------------------*/\r\n.size-labels-wrap {\r\n margin: 8px 0 0 10px;\r\n padding: 0;\r\n float: left;\r\n\r\n input[type=\"radio\"] {\r\n\tmargin-right: 0;\r\n\tfloat: left;\r\n }\r\n label {\r\n\tmargin: 0 10px 0 0;\r\n\tfloat: left;\r\n }\r\n\r\n}\r\n\r\n.map-width, .map-height {\r\n width: 55px !important\r\n}\r\n\r\n/*---------------------------\r\nLat/Lng\r\n ----------------------------*/\r\n#geolocate-wrap {\r\n margin: 0 0 5px;\r\n}\r\n\r\nlabel.geocode-label {\r\n width: 130px;\r\n margin-right: 0;\r\n}\r\n\r\nlabel.yes-label {\r\n margin-right: 10px;\r\n}\r\n\r\n.lat-lng-wrap {\r\n margin: 10px 20px 10px 0;\r\n clear: none;\r\n\r\n > span, > input {\r\n\tfloat: left;\r\n }\r\n > span {\r\n\tmargin: 8px 5px 0 0;\r\n\twidth: 80px;\r\n\tfont-style: italic;\r\n\tfont-weight:bold;\r\n }\r\n\r\n input[type=text].latitude, input[type=text].longitude {\r\n\twidth: 120px;\r\n\tfloat: left;\r\n }\r\n}\r\n\r\n/*---------------------------\r\nGeneral Options Tab\r\n-----------------------------*/\r\n#gmb_menu_position {\r\n width: 40px;\r\n}\r\n\r\n/*---------------------------\r\nSystem Settings Tab\r\n-----------------------------*/\r\n#system-info-textarea {\r\n width: 100%;\r\n height: 600px;\r\n}","/*!\r\n * Maps Builder Widget\r\n *\r\n * @description: Admin styles for the widget\r\n * @package: GMB\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2015, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/*----------------------------------------\r\nToggle Tips\r\n-------------------------------------------*/\r\n\r\n.gmb-tooltip-icon:before {\r\n content: \"\\f223\";\r\n opacity: 0.5;\r\n\r\n}\r\n\r\n.gmb-tooltip-icon:hover:before {\r\n\topacity: 1;\r\n}\r\n\r\n.gmb-widget-upgrade {\r\n .powered-by {\r\n float:right;\r\n background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;\r\n\twidth: 104px;\r\n\theight: 16px;\r\n\tmargin: 3px 0 0;\r\n }\r\n .button {\r\n\tmargin-bottom:8px;\r\n }\r\n}\r\n","/*-------------------------------------\r\nMarker Icon Modal\r\n---------------------------------------*/\r\n#poststuff .marker-description-wrap {\r\n margin-bottom: 20px;\r\n border-bottom: 1px solid #DDD;\r\n padding-bottom: 20px;\r\n h3 {\r\n\tfont-size: 22px;\r\n\tpadding: 0;\r\n\tmargin: 0 0 15px;\r\n }\r\n p {\r\n\tfont-size: 16px;\r\n\tfont-style: italic;\r\n\tcolor: #aaa;\r\n\tmargin-bottom: 0;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nMarker Types\r\n---------------------------------------*/\r\n#poststuff .marker-row, #poststuff .marker-icon-row, .marker-icon-row h3 {\r\n h3 {\r\n\tmargin: 0 0 20px;\r\n\tfont-size: 18px;\r\n\tpadding: 0;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nMarker Icon Rows\r\n---------------------------------------*/\r\n.marker-icon-row {\r\n margin-bottom: 10px;\r\n}\r\n\r\n.marker-icon-row, .save-marker-icon {\r\n display: none;\r\n}\r\n\r\n.marker-icon-row .icon, .marker-row .marker-item {\r\n width: 31%;\r\n float: left;\r\n font-size: 14px;\r\n margin-bottom: 10px;\r\n padding: 4px;\r\n border-radius: 5px;\r\n}\r\n\r\n.icon-inner {\r\n position: relative;\r\n top: -8px;\r\n}\r\n\r\n.marker-icon-row .icon span {\r\n font-size: 32px;\r\n margin-right: 8px;\r\n position: relative;\r\n top: 8px;\r\n}\r\n\r\n.marker-icon-row .icon, .marker-row .marker-item, .maps-icon {\r\n cursor: pointer;\r\n border: 1px solid #FFF;\r\n &:hover {\r\n\tborder: 1px solid #f4efd8;\r\n\tbackground: #FFFAE2;\r\n }\r\n}\r\n\r\n.marker-icon-row .marker-item-selected, .marker-item.marker-item-selected {\r\n border: 1px solid #f4efd8;\r\n background: #FFFAE2;\r\n}\r\n\r\n.marker-label {\r\n z-index: 99;\r\n position: absolute;\r\n display: block;\r\n margin-top: -50px;\r\n margin-left: -25px;\r\n width: 50px;\r\n height: 50px;\r\n font-size: 28px;\r\n text-align: center;\r\n color: #FFFFFF;\r\n white-space: nowrap;\r\n line-height: 1;\r\n}\r\n\r\n/*-------------------------------------\r\nColors\r\n---------------------------------------*/\r\n.marker-row {\r\n margin-bottom: 20px;\r\n}\r\n\r\n.marker-icon-modal {\r\n .color-desc {\r\n\tdisplay: block;\r\n\tclear: both;\r\n\tfont-size: 12px;\r\n\tfont-style: italic;\r\n }\r\n .marker-color-picker-wrap {\r\n\tfloat: left;\r\n }\r\n}\r\n\r\n/*-------------------------------------\r\nMarker Selections\r\n---------------------------------------*/\r\n.marker-row {\r\n margin-bottom: 25px;\r\n\r\n .marker-item {\r\n\tfloat: left;\r\n\twidth: 31%;\r\n\ttext-align: center;\r\n\tpadding: 10px;\r\n\theight: 100px;\r\n\tmargin: 0 1% 1% 0;\r\n\t.marker-svg {\r\n\t margin-top: 3px;\r\n\t &.default-marker {\r\n\t\tmargin-top: 10px;\r\n\t\tmargin-bottom: 6px;\r\n\t }\r\n\t}\r\n }\r\n}\r\n\r\n.marker-description-wrap h3, .marker-icon-row h3 {\r\n margin-top: 0;\r\n}\r\n\r\n/*-------------------------------------\r\nMap Icons\r\n---------------------------------------*/\r\n.map-icons-list {\r\n margin: 0 0 10px;\r\n li {\r\n\tfloat: left;\r\n\tpadding: 0;\r\n\ta {\r\n\t padding: 4px;\r\n\t display: block;\r\n\t box-shadow: none;\r\n\t}\r\n }\r\n}\r\n\r\n/* Save button */\r\n\r\n.save-marker-icon {\r\n background: #F1F1F1;\r\n padding: 10px;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n box-sizing: border-box;\r\n -moz-box-sizing: border-box;\r\n -webkit-box-sizing: border-box;\r\n border-top: 1px solid #DFDFDF;\r\n .save-text {\r\n\tfloat: left;\r\n\tfont-style: italic;\r\n\tmargin: 6px 0 0 10px;\r\n }\r\n .button {\r\n\tfloat: right;\r\n }\r\n}\r\n\r\n.radius-label {\r\n position: relative;\r\n top: 35px;\r\n color: #7dbee8;\r\n}\r\n\r\n/*-------------------------------------\r\nModal: Create a Marker\r\n---------------------------------------*/\r\n.cmb2-id-gmb-geocoder.white-popup {\r\n\r\n p.autocomplete-description {\r\n\tdisplay: none;\r\n }\r\n\r\n label{\r\n\tmargin:0;\r\n\tpadding:0;\r\n\r\n\t&:after {\r\n\t\tcontent: ' ';\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\tleft: 105px;\r\n\t\tbackground: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;\r\n\t\twidth: 104px;\r\n\t\theight: 16px;\r\n\t }\r\n }\r\n\r\n .cmb-td {\r\n\tpadding: 0;\r\n\r\n\tinput {\r\n\t width: 100%;\r\n\t}\r\n\r\n }\r\n}\r\n"],"sourceRoot":"/source/"}
assets/css/gmb-admin.min.css ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Admin SCSS/CSS
3
+ *
4
+ * @description: The Main SCSS file for admin styles which is compiled and minified via Gulp taskrunner
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */.mfp-bg,.mfp-wrap{left:0;top:0;position:fixed}.mfp-bg,.mfp-container,.mfp-wrap{width:100%;height:100%}.mfp-container:before,.mfp-figure:after{content:''}.mfp-bg{z-index:100000;overflow:hidden;background:#0b0b0b;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{z-index:100001;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;left:0;top:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:100003;box-sizing:border-box}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#CCC;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:100004}.mfp-preloader a{color:#CCC}.mfp-preloader a:hover{color:#FFF}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:100005;-webkit-box-shadow:none;box-shadow:none}.mfp-figure:after,.mfp-iframe-scaler iframe{position:absolute;left:0;box-shadow:0 0 8px rgba(0,0,0,.6)}button::-moz-focus-inner{padding:0;border:0}.mfp-close,button.gmb-modal-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;color:#FFF;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover,button.gmb-modal-close:focus,button.gmb-modal-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}#google-map-wrap div#infobubble-content>div,#infobubble-content .place-description{white-space:normal}.mfp-figure,img.mfp-img{line-height:0}.mfp-arrow{position:absolute;opacity:.65;filter:alpha(opacity=65);margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow .mfp-a,.mfp-arrow .mfp-b,.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:inset transparent}.mfp-arrow .mfp-a,.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow .mfp-b,.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left .mfp-b,.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3F3F3F}.mfp-arrow-right{right:0}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right .mfp-b,.mfp-arrow-right:before{border-left:27px solid #3F3F3F}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-image-holder .mfp-content,img.mfp-img{max-width:100%}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{display:block;top:0;width:100%;height:100%;background:#000}.mfp-figure:after,img.mfp-img{display:block;width:auto;height:auto}img.mfp-img{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure:after{top:40px;bottom:40px;right:0;z-index:-1;background:#444}.mfp-figure small{color:#BDBDBD;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}#qtip-overlay.blurs,.magnific-builder .postbox .hndle,.mfp-gallery .mfp-image-holder .mfp-figure,.qtip-close,button.gmb-modal-close{cursor:pointer}.mfp-title{text-align:left;line-height:18px;color:#F3F3F3;word-wrap:break-word;padding-right:36px}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding:0}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}.white-popup{position:relative;background:#FFF;padding:20px;width:auto;max-width:600px;margin:20px auto}.container,.container-fluid{padding-left:15px;padding-right:15px}.white-popup:after{content:"";display:table;clear:both}.white-popup.marker-icon-modal{padding-bottom:50px}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66667%}.col-xs-10{width:83.33333%}.col-xs-9{width:75%}.col-xs-8{width:66.66667%}.col-xs-7{width:58.33333%}.col-xs-6{width:50%}.col-xs-5{width:41.66667%}.col-xs-4{width:33.33333%}.col-xs-3{width:25%}.col-xs-2{width:16.66667%}.col-xs-1{width:8.33333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-1{right:8.33333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66667%}.col-xs-push-10{left:83.33333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66667%}.col-xs-push-7{left:58.33333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66667%}.col-xs-push-4{left:33.33333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66667%}.col-xs-push-1{left:8.33333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66667%}.col-sm-10{width:83.33333%}.col-sm-9{width:75%}.col-sm-8{width:66.66667%}.col-sm-7{width:58.33333%}.col-sm-6{width:50%}.col-sm-5{width:41.66667%}.col-sm-4{width:33.33333%}.col-sm-3{width:25%}.col-sm-2{width:16.66667%}.col-sm-1{width:8.33333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-1{right:8.33333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66667%}.col-sm-push-10{left:83.33333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66667%}.col-sm-push-7{left:58.33333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66667%}.col-sm-push-4{left:33.33333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66667%}.col-sm-push-1{left:8.33333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66667%}.col-md-10{width:83.33333%}.col-md-9{width:75%}.col-md-8{width:66.66667%}.col-md-7{width:58.33333%}.col-md-6{width:50%}.col-md-5{width:41.66667%}.col-md-4{width:33.33333%}.col-md-3{width:25%}.col-md-2{width:16.66667%}.col-md-1{width:8.33333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66667%}.col-md-pull-10{right:83.33333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66667%}.col-md-pull-7{right:58.33333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66667%}.col-md-pull-4{right:33.33333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66667%}.col-md-pull-1{right:8.33333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66667%}.col-md-push-10{left:83.33333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66667%}.col-md-push-7{left:58.33333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66667%}.col-md-push-4{left:33.33333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66667%}.col-md-push-1{left:8.33333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66667%}.col-lg-10{width:83.33333%}.col-lg-9{width:75%}.col-lg-8{width:66.66667%}.col-lg-7{width:58.33333%}.col-lg-6{width:50%}.col-lg-5{width:41.66667%}.col-lg-4{width:33.33333%}.col-lg-3{width:25%}.col-lg-2{width:16.66667%}.col-lg-1{width:8.33333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-1{right:8.33333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66667%}.col-lg-push-10{left:83.33333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66667%}.col-lg-push-7{left:58.33333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66667%}.col-lg-push-4{left:33.33333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66667%}.col-lg-push-1{left:8.33333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-0{margin-left:0}}.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content,.qtip-titlebar{overflow:hidden;position:relative}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-titlebar{padding:5px 35px 5px 10px;border-width:0 0 1px;font-weight:700}.qtip-close,.qtip-default{border-width:1px;border-style:solid}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;outline:0;border-color:transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:normal 700 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat none}.qtip-default{border-color:#F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border-width:0;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}#qtip-overlay,#qtip-overlay div{left:0;top:0;width:100%;height:100%}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.magnific-builder #google_maps_preview_metabox,.magnific-builder#post #google-map-wrap{border:none}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed}#qtip-overlay div{position:absolute;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"}.magnific-builder #google_maps_preview_metabox .handlediv,.magnific-builder #google_maps_preview_metabox .ui-sortable-handle,.magnific-builder #marker-icon-modal,.magnific-builder #post-body-content,.magnific-builder #submitdiv,.magnific-builder #titlediv{display:none}.magnific-builder #google_maps_preview_metabox .inside{margin:0;padding:0}.magnific-builder#post{position:relative;margin:20px;padding:0;background:#EEE;width:auto;overflow:hidden}.magnific-builder#post #cmb2-metabox-google_maps_preview_metabox>div,.magnific-builder#post #poststuff{padding-top:0}.magnific-builder#post .magnific-builder#post .places-loading{top:auto;right:-175px;bottom:15px;left:auto}.magnific-builder#post #map-toolbar{min-width:678px}.magnific-builder#post #postbox-container-1{margin-left:0;padding:90px 0 50px;width:300px!important;background:url(../img/maps-builder-logo-small-non-pro.png) 15px 15px no-repeat}.magnific-builder#post #postbox-container-1:after{content:' ';position:absolute;bottom:15px;right:130px;background:url(../img/powered-by-google-on-white.png) no-repeat;width:104px;height:16px}.magnific-builder#post #postbox-container-1 #side-sortables{border-left:1px solid #DDD;border-bottom:1px solid #DDD;background-color:#F7F7F7;overflow-y:auto;overflow-x:hidden;height:100%;min-height:100%;position:relative}.magnific-builder#post #postbox-container-1 #side-sortables .ui-sortable-handle{background:#42A4F5;color:#FFF}.magnific-builder#post #postbox-container-1 #side-sortables .ui-sortable-handle:hover{background:#128df2}.magnific-builder#post #postbox-container-1 #side-sortables .handlediv{color:#FFF}.magnific-builder#post #postbox-container-1 .magnific-submit{position:absolute;bottom:10px;right:10px;display:block}.magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-search-radius{margin-top:15px;border-top:none}.magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-places-search-multicheckbox ul li{width:50%;position:relative}.magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-places-search-multicheckbox ul li .cmb2-option{position:absolute;top:0;left:0}.magnific-builder#post #postbox-container-1 #google_maps_search_options .cmb2-id-gmb-places-search-multicheckbox ul li label{padding-left:25px;display:block;padding-right:3px}.magnific-builder#post #postbox-container-1 a.drop-marker{margin-top:10px;display:block;width:110px;text-align:center}.magnific-builder#post #postbox-container-1 .white-popup{display:none}.magnific-builder#post #postbox-container-1 .places-change-message .button{margin-bottom:10px;float:left}.magnific-builder#post #post-body.columns-2 #side-sortables{margin-right:0;width:300px!important}.magnific-builder#post .postbox{margin:0;border-left:none;border-right:none;border-bottom:none}.magnific-builder#post .postbox:last-of-type{border-bottom:1px solid #DDD}.magnific-builder#post .toggle-repeater-groups{display:block;width:140px;text-align:center;margin:10px 0 0}.magnific-builder#post button.edit-title{display:inline-block}.magnific-builder .postbox .hndle:hover{color:#23282d;background:#f5f5f5}.magnific-builder#post .places-loading{top:auto;right:auto;bottom:0;left:0}#wpbody-content .magnific-submit{display:none}#map-builder{margin:5px 12px 10px;display:block;text-align:center}#map-builder span.dashicons{position:relative;top:2px;margin-right:3px}.magnific-builder #poststuff .white-popup{position:absolute;max-width:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0;z-index:100008;opacity:1;background:rgba(88,88,88,.8);-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s;overflow-y:auto;display:table}.magnific-builder #poststuff .white-popup:after{content:"";display:table;clear:both}.magnific-builder #poststuff .white-popup .inner-modal-wrap{display:table-cell;vertical-align:middle}.magnific-builder #poststuff .white-popup .inner-modal-wrap .inner-modal-container{overflow-y:auto;max-height:100%}.magnific-builder #poststuff .white-popup .inner-modal-wrap .inner-modal{max-width:600px;margin:30px auto;background:#FFF;padding:20px;box-shadow:0 0 8px rgba(0,0,0,.45);position:relative}.magnific-builder #poststuff .white-popup .save-marker-icon{position:relative;border:none;margin-top:15px}.pac-container{z-index:100020!important}button.gmb-modal-close{border:none;background-color:transparent;color:#333;outline:0;padding:0;z-index:9999}.map-modal-upsell{display:none}.mfp-container .map-modal-upsell{display:block;position:absolute;top:35px;right:-261px;text-align:center}.mfp-container .map-modal-upsell p{font-size:11px;font-style:italic;margin:0 0 2px;color:#AAA}.mfp-container .map-modal-upsell a.upsell-button{width:70px}/*!
10
+ * Maps Builder Admin Settings Pages SCSS/CSS
11
+ *
12
+ * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner
13
+ * @package: GMB
14
+ * @subpackage: SCSS/Admin
15
+ * @copyright: Copyright (c) 2015, WordImpress
16
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
17
+ */#google-map-wrap{position:relative;border:1px solid #DDD}.hover-transition,.marker-icon-row .icon,.marker-row .marker-item{-webkit-transition:.2s all linear;-moz-transition:.2s all linear;-o-transition:.2s all linear;transition:.2s all linear}.box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}#marker-icon-modal,.cmb2-id-gmb-theme-json,.gmb-hidden{display:none}.marker-info-wrapper{background-color:#F1F1F1;margin:8px 0 4px;padding:12px;font-size:13px}.marker-info-wrapper>div{margin:0 0 5px;padding:0}.marker-info-wrapper>div.rating-wrap{margin:0;padding:0}.repeatable-grouping .cmb-nested-table td{padding-top:3px}.repeatable-grouping .cmb-nested-table td pre textarea{height:50px}.repeatable-grouping .cmb-nested-table td pre{margin:0}.new-window,span.new-window{background:url(../img/new-window-icon.png) right 3px no-repeat;padding-right:16px}span.new-window{padding-right:0;background-position:0 0;display:inline-block;width:10px;height:10px;margin:0 0 0 2px;position:relative;top:1px}.mfp-content #marker-icon-modal{display:block}.shortcode-wrap{margin:1px 14px 12px 11px}.shortcode-wrap label{margin:0 0 3px;display:block;cursor:default}.shortcode-wrap .shortcode-input{margin:0;width:100%}.wpgp-message{background-color:#FFF;border-left:4px solid #7AD03A;-webkit-box-shadow:1px 1px 1px 1px rgba(0,0,0,.15);box-shadow:1px 1px 1px 1px rgba(0,0,0,.15);box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:1px 12px;display:none}.wpgp-message.warning-message{border-left:4px solid #d40000;margin:20px 0 0}.form-table td .wpgp-message p,.wpgp-message p{margin:.5em 0;padding:2px}.places-change-message{margin-bottom:15px;margin-right:2px}.places-change-message p{float:left}.places-change-message .button{float:right;margin-top:5px}#google-map-wrap .wpgp-message{margin-top:20px}#cmb2-metabox-google_maps_preview_metabox>div{padding:5px 0 0;margin:0}#map{width:100%;margin:0 auto}.places-loading{background:url(../img/spinner.gif) center right no-repeat;font-style:italic;position:absolute;top:-34px;right:31px;padding:0 25px 0 0;display:none}.cmb2-id-gmb-map-type td{padding-bottom:0}.cmb2-id-gmb-map-type-control .cmb2-option{margin:5px 0 10px}#google_maps_details_options tr,.cmb2-id-gmb-places-search-multicheckbox,.cmb2-id-gmb-search-radius{display:none}#google_maps_details_options tr.cmb2-id-gmb-show-poi{display:table-row}.snazzy-link{font-size:10px;text-transform:uppercase;font-style:normal;display:inline-block}#width_height_wrap>div{margin:0 0 10px}#side-sortables table.cmb_metabox label.size-label,.inner-sidebar table.cmb_metabox label.size-label,label.size-label{font-weight:400;font-style:italic}#poststuff h2.cmb-group-name{font-weight:700;font-size:14px;margin:0 0 8px;padding:0;display:block;position:relative}#infobubble-content{padding:0;margin:3px -20px 0 0;min-width:314px;min-height:80px;height:100%;box-sizing:border-box;cursor:default}#infobubble-content p{font-size:12px;margin:0 0 7px;color:#2C2C2C}#infobubble-content .place-title{border:1px solid #FFF;font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:21px;font-weight:700;min-height:21px;white-space:normal;padding-right:20px}.marker-confirm-place{margin:0 8px 4px 0;display:inline-block}.marker-confirm-place:hover{cursor:pointer}#google_maps_preview_metabox .gm-style-iw,#google_maps_preview_metabox .gm-style-iw>div,#google_maps_preview_metabox .gm-style-iw>div>div{overflow:visible!important}#infobubble-content{overflow:hidden!important}#infobubble-content.loading{background:url(../img/loading-large.GIF) center center no-repeat #FFF}.google-btn,.marker-label{text-align:center;white-space:nowrap}#infobubble-content .rating-wrap{overflow:hidden}#infobubble-content .numeric-rating{font-size:16px;color:#DD4B39;font-weight:400;float:left;margin:0 5px 0 0}#infobubble-content .star-rating-wrap{background:url(../img/review_stars.png) no-repeat;height:13px;width:67px;float:left;margin:4px 0 0}#infobubble-content .star-rating-size{background:url(../img/review_stars.png) 0 -13px no-repeat;height:13px}#edit-toolbar{list-style:none;margin:0;padding:0;text-align:right}#edit-toolbar>li{margin:0 4px;cursor:pointer;display:inline-block;content:'';height:21px;width:21px;opacity:.5;background:url(../img/icons-infowindow-002.svg)}#edit-toolbar>li:hover{opacity:.75}#edit-toolbar>li.trash-marker{background-position:-42px 0}#edit-toolbar>li.edit-info{background:url(../img/icons-app-000.svg) 21px 21px}#lat-lng-wrap input[type=text].latitude,#lat-lng-wrap input[type=text].longitude,#side-sortables #lat-lng-wrap input[type=text].latitude,#side-sortables #lat-lng-wrap input[type=text].longitude{width:100px;float:left}.lat-lng-change-message{float:left;clear:both;margin:10px 0 0;width:100%}.lat-lng-change-message>p{float:left}.lat-lng-update-btn{float:right;margin:7px 0 0!important}#save-toolbar{margin:0;padding:0;float:left}#save-toolbar>li{display:inline-block;margin:0;padding:0}#save-toolbar>li:first-child{margin:0 5px 0 0}#save-toolbar>li .google-btn{width:75px}#infobubble-content .marker-edit-link-wrap a{opacity:.5;box-shadow:none;outline:0;width:20px;height:20px}#infobubble-content .marker-edit-link-wrap a.marker-edit-link{background:url(../img/marker-btn.png) no-repeat;margin:4px 0 0;display:block;float:right}#infobubble-content .marker-edit-link-wrap a:hover{opacity:1}#save-toolbar>li .marker-edit-link{opacity:.75}#infobubble-content .edit-place-title{width:290px;margin:0 0 10px}#infobubble-content .edit-place-description{display:block;font-size:12px;width:100%;min-height:100px}#map-toolbar{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);background:#FFF;padding:3px 1px 0;border-top:1px solid #DDD;border-left:1px solid #DDD;border-right:1px solid #DDD;min-width:575px}#map-toolbar #title{padding:3px}#map-toolbar .drop-marker .dashicons{margin:5px 0 0}#map-toolbar button{margin:0 2px}#map-toolbar button .dashicons{font-size:12px;width:12px;margin:5px 2px 0 -2px}#map-toolbar button.edit-title{display:none}#map-toolbar .live-lat-lng-wrap{border:1px solid #DDD;padding:0;margin:0 2px;display:inline-block;width:250px;background-color:#FAFAFA;height:24px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.08)}#map-toolbar .live-lat-lng-wrap .live-latitude-wrap,#map-toolbar .live-lat-lng-wrap .live-longitude-wrap{float:left;margin-left:6px}#map-toolbar .live-lat-lng-wrap .live-latitude-wrap span,#map-toolbar .live-lat-lng-wrap .live-longitude-wrap span{line-height:22px;float:left}#map-toolbar .live-lat-lng-wrap .live-latitude,#map-toolbar .live-lat-lng-wrap .live-longitude{font-size:11px;margin:0;padding:0;width:60px;white-space:nowrap;overflow:hidden}#map-toolbar .live-lat-lng-wrap .live-latitude-label,#map-toolbar .live-lat-lng-wrap .live-longitude-label{font-size:10px;color:#AAA;font-style:italic;display:block;padding:0 2px 0 0}#map-toolbar .live-lat-lng-wrap button{float:left;margin:-2px 0 -2px -2px;border-radius:0;height:26px;box-shadow:none}#map-toolbar .live-lat-lng-wrap button:hover{box-shadow:none;border-color:#ccc}@media (max-width:900px){#map-toolbar{display:none}}.map-autocomplete-wrap label,.map-title-wrap label{font-weight:700;font-size:14px;margin:0;padding:0;display:block;position:relative}.map-autocomplete-wrap p.cmb2-metabox-description,.map-title-wrap p.cmb2-metabox-description{padding:8px 0}.map-autocomplete-wrap input,.map-title-wrap input{width:100%}.map-autocomplete-wrap label{position:relative}.map-autocomplete-wrap label:after{content:' ';position:absolute;bottom:0;left:120px;background:url(../img/powered-by-google-on-white.png) no-repeat;width:104px;height:16px}.google-btn{-webkit-border-radius:2px;border-radius:2px;cursor:default;font-weight:300;font-size:13px;height:27px;line-height:27px;min-width:54px;outline:0;padding:0 8px}.google-btn-blue{-webkit-box-shadow:none;box-shadow:none;background-color:#4D90FE;background-image:-webkit-linear-gradient(top,#4D90FE,#4787ED);background-image:linear-gradient(top,#4d90fe,#4787ed);border:1px solid #3079ED;color:#FFF}.google-btn-blue:hover{-webkit-box-shadow:none;box-shadow:none;background-color:#357AE8;background-image:-webkit-linear-gradient(top,#4D90FE,#357AE8);background-image:linear-gradient(top,#4d90fe,#357ae8);border:1px solid #2F5BB7;border-bottom-color:#2F5BB7}.google-btn-blue:active,.google-btn-blue:focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 1px 2px rgba(0,0,0,.3);background:#357AE8;border:1px solid #2F5BB7;border-top:1px solid #2F5BB7}.google-btn-default{-webkit-box-shadow:none;box-shadow:none;background-color:#F5F5F5;background-image:-webkit-linear-gradient(top,#F5F5F5,#F1F1F1);background-image:linear-gradient(top,#f5f5f5,#f1f1f1);color:#333;border:1px solid #DCDCDC;border:1px solid rgba(0,0,0,.1)}.google-btn-default:hover{-webkit-box-shadow:none;box-shadow:none;background-color:#F8F8F8;background-image:-webkit-linear-gradient(top,#F8F8F8,#F1F1F1);background-image:linear-gradient(top,#f8f8f8,#f1f1f1);border:1px solid #C6C6C6;color:#111}.google-btn-default:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background:#F8F8F8;color:#111}.infowindow-toolbar{display:block;margin:0;padding:8px 0 5px}#google_maps_markers .cmb-add-row,#poststuff #side-sortables .cmb-th label:after,#poststuff .inner-sidebar .cmb-th label:after{display:none}.add-marker{text-decoration:none}.cmb2-id-gmb-places-search-multicheckbox ul{overflow:hidden}.cmb2-id-gmb-places-search-multicheckbox li{float:left;width:33%}.cmb2-id-gmb-places-search-multicheckbox .cmb2-metabox-description{margin-top:10px;margin-right:2px}#cmb2-metabox-google_maps_search_options .cmb2-id-gmb-show-places{border-bottom:none!important;margin-bottom:0!important}#post-body .cmb2-id-gmb-search-radius,#post-body-content #cmb2-metabox-google_maps_search_options .cmb2-id-gmb-search-radius{border-top:1px solid #e9e9e9}#cmb2-metabox-google_maps_markers .search-autocomplete{width:78%;margin-right:10px}#cmb2-metabox-google_maps_markers .autocomplete-wrap p{font-size:13px;padding:5px 0 0;margin:0;line-height:18px;font-style:italic;color:#aaa}#cmb2-metabox-google_maps_markers a.drop-marker{font-style:normal}#cmb2-metabox-google_maps_markers a.drop-marker .dashicons{font-size:14px;margin:4px 0 0;width:16px}#poststuff .postbox-container .cmb-repeatable-group:not(:last-of-type){border-bottom:1px solid #e9e9e9;padding:0 0 15px}#poststuff .postbox-container .cmb-repeat-group-wrap .cmb-row:not(:last-of-type){margin-bottom:10px}#gmb_markers_group_repeat.cmb-remove-field-row{margin-bottom:15px}#poststuff #side-sortables .inside,#poststuff .inner-sidebar .inside{margin-top:0;padding-top:12px}#poststuff #side-sortables .cmb-row,#poststuff .inner-sidebar .cmb-row{margin:0 0 15px;padding:0}#poststuff #side-sortables .cmb-row:not(:last-of-type),#poststuff .inner-sidebar .cmb-row:not(:last-of-type){border-bottom:0}#poststuff #side-sortables .cmb-row:last-child,#poststuff #side-sortables .cmb-row:last-of-type,#poststuff .inner-sidebar .cmb-row:last-child,#poststuff .inner-sidebar .cmb-row:last-of-type{margin-bottom:5px}#poststuff #side-sortables .cmb-th,#poststuff .inner-sidebar .cmb-th{background:0 0;padding:0;position:relative}#poststuff #side-sortables .cmb-th label,#poststuff .inner-sidebar .cmb-th label{border:none}#poststuff #side-sortables .cmb-td.cmb-nested,#poststuff .inner-sidebar .cmb-td.cmb-nested{padding-left:12px;padding-right:12px}#poststuff #side-sortables select,#poststuff .inner-sidebar select{width:100%}#poststuff #side-sortables .lat-lng-wrap,#poststuff .inner-sidebar .lat-lng-wrap{margin-top:0}#poststuff #side-sortables .lat-lng-wrap.lng-wrap,#poststuff .inner-sidebar .lat-lng-wrap.lng-wrap{margin-bottom:0}#poststuff #side-sortables .cmb2-metabox-description,#poststuff #side-sortables p.cmb2-metabox-description,#poststuff .inner-sidebar .cmb2-metabox-description,#poststuff .inner-sidebar p.cmb2-metabox-description{font-size:13px;padding:5px 0 0;margin:0;line-height:18px;font-style:italic;color:#aaa}#poststuff #side-sortables h2.cmb-group-name,#poststuff .inner-sidebar h2.cmb-group-name{font-weight:700;font-size:14px;margin:0 0 8px;padding:0;display:block;position:relative}#poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping{margin:0 0 8px;border:none;border-radius:5px;overflow:hidden}#poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping .cmb-group-title,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping .cmb-group-title{margin:0;padding:8px 8px 8px 30px;cursor:pointer;background:#FAA627;border:none;color:#FFF;font-weight:700}#poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping .cmbhandle,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping .cmbhandle{color:#FFF;right:0;top:0}#poststuff #side-sortables .cmb-repeatable-group .cmb-repeatable-grouping>.cmb-remove-group-row,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-repeatable-grouping>.cmb-remove-group-row{top:6px;color:#FFF}#poststuff #side-sortables .cmb-repeatable-group .cmb-field-list,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-field-list{border-left:1px solid #EEE;border-right:1px solid #EEE}#poststuff #side-sortables .cmb-repeatable-group .cmb-remove-row,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-remove-row{margin:0;padding:0}#poststuff #side-sortables .cmb-repeatable-group .cmb-add-row,#poststuff .inner-sidebar .cmb-repeatable-group .cmb-add-row{margin:15px 0 10px}#poststuff #side-sortables .drop-marker,#poststuff .inner-sidebar .drop-marker{margin-bottom:15px}#postbox-container-2 #cmb2-metabox-google_maps_markers .toggle-repeater-groups{float:right}#postbox-container-2 #cmb2-metabox-google_maps_markers .cmb-repeat-group-wrap{padding:0}#postbox-container-2 #cmb2-metabox-google_maps_markers .cmb-group-description .cmb-th{padding-right:0}p.cmb2-metabox-description{font-weight:400}a.wp-color-result{height:24px}div.white-popup .cmb-th{width:100%;padding:0}div.white-popup .cmb-th label{font-weight:700;font-size:14px;margin:0 0 8px;padding:0;display:block;position:relative}div.white-popup .cmb-td{width:100%;padding:15px 0}.gmb-tooltip-field>div.cmb-th{overflow:hidden}.gmb-tooltip-field>div.cmb-th label{float:left}.gmb-tooltip-field>div.cmb-th .gmb-help-icon{content:' ';background:url(../img/help.png) no-repeat;background-size:15px;display:inline-block;margin:0 0 -2px 8px;width:16px;height:16px;opacity:.4;cursor:pointer;-webkit-transition:.2s all linear;-moz-transition:.2s all linear;-o-transition:.2s all linear;transition:.2s all linear}.gmb-tooltip-field>div.cmb-th .gmb-help-icon:hover{opacity:1}.gmb-tooltip-text{display:none}/*!
18
+ * Maps Builder Admin Settings Pages SCSS/CSS
19
+ *
20
+ * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner
21
+ * @package: GMB
22
+ * @subpackage: SCSS/Admin
23
+ * @copyright: Copyright (c) 2015, WordImpress
24
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
25
+ */.clear:after,.clear:before{content:" ";display:table}.clear:after{clear:both}.google_maps_page_gmb_settings .wrap{margin-left:-5px}.google_maps_page_gmb_settings table.form-table{margin:0 0 20px}.google_maps_page_gmb_settings .gmb-submit-wrap{clear:both;background:#f5f5f5;border-color:#dfdfdf;overflow:auto;margin:20px 0 8px;padding:12px;border-width:1px;border-style:solid;font-size:13px;line-height:2.1em}.google_maps_page_gmb_settings .cmb-th{width:20%}.google_maps_page_gmb_settings .cmb-td{width:80%}.welcome-header{margin-bottom:20px}.welcome-header .main-heading{font-size:36px;font-weight:400;line-height:1.1em;margin:10px 0 20px}.welcome-header .main-subheading{font-size:20px;line-height:1.4em;margin:0}.welcome-header .logo-svg{margin:15px 0 0}.welcome-header .logo-svg svg{height:185px}.welcome-header .logo-svg.logo-svg-small{float:right;margin:0}.pull-left,.social-items-wrap{float:left}.welcome-header .new-window{background:url(../img/new-window-icon.png) right 5px no-repeat;padding-right:13px;margin-right:4px}.gmb-plugin-heading{display:none}.gmb-plugin-heading+#Layer_1{width:auto;height:37px;margin:0 10px 0 5px}.gmb-orange-btn,a.button.gmb-orange-btn{background:#FAA625;border-color:#CE8617;-webkit-box-shadow:inset 0 1px 0 #f9c679,0 1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 1px 0 #f9c679,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #f9c679,0 1px 0 rgba(0,0,0,.15);color:#FFF}.gmb-orange-btn:disabled,.gmb-orange-btn:hover,a.button.gmb-orange-btn:disabled,a.button.gmb-orange-btn:hover{color:#FFF;background:#eb9e23;border-color:#ba7915;-webkit-box-shadow:inset 0 1px 0 #f9c679,0 1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 0 1px 0 #f9c679,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #f9c679,0 1px 0 rgba(0,0,0,.15)}#wpwrap .gmb-settings-header-btn{margin:5px 0 0}.social-items-wrap>div{display:inline-block}.social-items-wrap .fb-item-wrap{width:100px}.social-items-wrap .twitter-item-wrap{width:145px}.social-items-wrap .google-plus{margin-left:20px;width:200px}.social-items-wrap .wordimpress-logo{position:relative;top:10px;left:-17px}.social-items-wrap .wordimpress-logo a{display:block}.social-items-wrap .wordimpress-logo .logo-link{background:url(../img/wordimpress-logo-small.png) no-repeat;width:100px;height:40px}.social-items-wrap .gmb-settings-header-btn{margin-top:-6px!important}.hide-welcome{margin:21px 0 0 30px;display:inline-block}.hide-welcome span{background:url(../img/arrows.png) 0 -33px no-repeat;width:15px;height:14px;display:inline-block;margin-left:3px}.pull-right{float:right}.small-desc{font-size:12px;font-style:italic;color:#B3B3B3}.size-label{margin:8px 10px 0 0;font-style:italic;width:50px}.label-left,.map-height,.map-width,.radio-left,.size-label,.width_radio,.width_unit_label{float:left!important}.size-labels-wrap{margin:8px 0 0 10px;padding:0;float:left}.size-labels-wrap input[type=radio]{margin-right:0;float:left}.size-labels-wrap label{margin:0 10px 0 0;float:left}.map-height,.map-width{width:55px!important}#geolocate-wrap{margin:0 0 5px}label.geocode-label{width:130px;margin-right:0}label.yes-label{margin-right:10px}.lat-lng-wrap{margin:10px 20px 10px 0;clear:none}.lat-lng-wrap>input,.lat-lng-wrap>span{float:left}.lat-lng-wrap>span{margin:8px 5px 0 0;width:80px;font-style:italic;font-weight:700}.lat-lng-wrap input[type=text].latitude,.lat-lng-wrap input[type=text].longitude{width:120px;float:left}#gmb_menu_position{width:40px}#system-info-textarea{width:100%;height:600px}/*!
26
+ * Maps Builder Widget
27
+ *
28
+ * @description: Admin styles for the widget
29
+ * @package: GMB
30
+ * @subpackage: SCSS/Admin
31
+ * @copyright: Copyright (c) 2015, WordImpress
32
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
33
+ */.gmb-tooltip-icon:before{content:"\f223";opacity:.5}.gmb-tooltip-icon:hover:before{opacity:1}.gmb-widget-upgrade .powered-by{float:right;background:url(../img/powered-by-google-on-white.png) no-repeat;width:104px;height:16px;margin:3px 0 0}.gmb-widget-upgrade .button{margin-bottom:8px}#poststuff .marker-description-wrap{margin-bottom:20px;border-bottom:1px solid #DDD;padding-bottom:20px}#poststuff .marker-description-wrap h3{font-size:22px;padding:0;margin:0 0 15px}#poststuff .marker-description-wrap p{font-size:16px;font-style:italic;color:#aaa;margin-bottom:0}#poststuff .marker-icon-row h3,#poststuff .marker-row h3,.marker-icon-row h3 h3{margin:0 0 20px;font-size:18px;padding:0}.marker-icon-row{margin-bottom:10px}.marker-icon-row,.save-marker-icon{display:none}.marker-icon-row .icon,.marker-row .marker-item{width:31%;float:left;font-size:14px;margin-bottom:10px;padding:4px;border-radius:5px}.icon-inner{position:relative;top:-8px}.marker-icon-row .icon span{font-size:32px;margin-right:8px;position:relative;top:8px}.maps-icon,.marker-icon-row .icon,.marker-row .marker-item{cursor:pointer;border:1px solid #FFF}.maps-icon:hover,.marker-icon-row .icon:hover,.marker-icon-row .marker-item-selected,.marker-item.marker-item-selected,.marker-row .marker-item:hover{border:1px solid #f4efd8;background:#FFFAE2}.marker-label{z-index:99;position:absolute;display:block;margin-top:-50px;margin-left:-25px;width:50px;height:50px;font-size:28px;color:#FFF;line-height:1}.marker-icon-modal .color-desc{display:block;clear:both;font-size:12px;font-style:italic}.marker-icon-modal .marker-color-picker-wrap{float:left}.marker-row{margin-bottom:25px}.marker-row .marker-item{float:left;width:31%;text-align:center;padding:10px;height:100px;margin:0 1% 1% 0}.marker-row .marker-item .marker-svg{margin-top:3px}.marker-row .marker-item .marker-svg.default-marker{margin-top:10px;margin-bottom:6px}.marker-description-wrap h3,.marker-icon-row h3{margin-top:0}.map-icons-list{margin:0 0 10px}.map-icons-list li{float:left;padding:0}.map-icons-list li a{padding:4px;display:block;box-shadow:none}.save-marker-icon{background:#F1F1F1;padding:10px;position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-top:1px solid #DFDFDF}.save-marker-icon .save-text{float:left;font-style:italic;margin:6px 0 0 10px}.save-marker-icon .button{float:right}.radius-label{position:relative;top:35px;color:#7dbee8}.cmb2-id-gmb-geocoder.white-popup p.autocomplete-description{display:none}.cmb2-id-gmb-geocoder.white-popup label{margin:0;padding:0}.cmb2-id-gmb-geocoder.white-popup label:after{content:' ';position:absolute;bottom:0;left:105px;background:url(../img/powered-by-google-on-white.png) no-repeat;width:104px;height:16px}.cmb2-id-gmb-geocoder.white-popup .cmb-td{padding:0}.cmb2-id-gmb-geocoder.white-popup .cmb-td input{width:100%}
34
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zb3VyY2UvcGx1Z2lucy9tYWduaWZpYy5zY3NzIiwiL3NvdXJjZS9hZG1pbi9idWlsZGVyLnNjc3MiLCIvc291cmNlL3BsdWdpbnMvcXRpcDIuc2NzcyIsIi9zb3VyY2UvYWRtaW4vbWFnbmlmaWMtYnVpbGRlci5zY3NzIiwiL3NvdXJjZS9wbHVnaW5zL2dyaWQuc2NzcyIsIi9zb3VyY2UvYWRtaW4vX21peGlucy5zY3NzIiwiZ21iLWFkbWluLm1pbi5jc3MiLCIvc291cmNlL2FkbWluL21vZGFsLW1hcmtlcnMuc2NzcyIsIi9zb3VyY2UvYWRtaW4vY21iMi1jdXN0b20uc2NzcyIsIi9zb3VyY2UvYWRtaW4vc2V0dGluZ3Muc2NzcyIsIi9zb3VyY2UvYWRtaW4vd2lkZ2V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxRQWFBLFVBZ0JFLEtBQU0sRUFDTixJQUFLLEVBWEwsU0FBVSxNQW5CWixRQXdCQSxlQVhBLFVBOENTLE1BQUEsS0FuQlAsT0FBUSxLQUhWLHNCQTJSVyxrQkFDQSxRQUFBLEdBalVYLFFBS0UsUUFBUyxPQUNULFNBQVUsT0FFRSxXQUFBLFFBQ0gsUUFBQSxHQUNELE9BQUEsa0JBR1YsVUFLVyxRQUFBLE9BRVQsUUFBUyxZQUNULDRCQUE2QixPQUcvQixlQUNjLFdBQUEsT0FDWixTQUFVLFNBR1YsS0FBTSxFQUNOLElBQUssRUFDSSxRQUFBLEVBQ1csbUJBQUEsV0FDSCxnQkFBQSxXQUNMLFdBQUEsV0FHZCxzQkFFRSxRQUFTLGFBQ1QsT0FBUSxLQUNSLGVBQWdCLE9BR0gscUNBQ2IsUUFBUyxLQUdYLGFBQ1ksU0FBQSxTQUNWLFFBQVMsYUFDVCxlQUFnQixPQUNoQixPQUFRLEVBQUEsS0FDUixXQUFZLEtBQ1osUUFBUyxPQUNHLFdBQUEsV0FHb0MsOEJBQUEsZ0NBQ3pDLE1BQUEsS0FDUCxPQUFRLEtBR1YsY0FDVSxPQUFBLFNBR1Msa0JBQW9DLCtDQUNyRCxPQUFRLGNBQ1IsT0FBUSxpQkFDUixPQUFR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LElBQ1QsUUFBUyxNQUNULFdBQVksS0FPZixrQkFDRSxXQUFZLFFBQ1osUUFBUyxLQUNULFNBQVUsU0FDVixPQUFRLEVBQ0YsS0FBQSxFQUNDLE1BQUEsS0FDSyxXQUFBLFdBQ0ssZ0JBQUEsV0FDakIsbUJBQW9CLFdBQ3BCLFdBQVksSUFBQSxNQUFBLFFBQ2QsNkJBQ0MsTUFBTyxLQUNQLFdBQVksT0FDSixPQUFBLElBQUEsRUFBQSxFQUFBLEtBRVMsMEJBQ1YsTUFBQSxNQUlSLGNBQ0UsU0FBVSxTQUNMLElBQUEsS0FDRSxNQUFBLFFBUVksNkRBQ3BCLFFBQVMsS0FHVix3Q0FDUSxPQUFBLEVBQ0MsUUFBQSxFQUV5Qiw4Q0FDaEMsUUFBUyxJQUNULFNBQVUsU0FDVixPQUFRLEVBQ0YsS0FBQSxNQUNpRCxXQUFBLDJDQUFBLFVBQ2hELE1BQUEsTUFDQyxPQUFBLEtBSXdCLDBDQUN4QixRQUFBLEVBRVcsZ0RBQ2xCLE1BQU8iLCJmaWxlIjoiZ21iLWFkbWluLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cclxuLm1mcC1iZyB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDAwMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIG9wYWNpdHk6IDAuODtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApO1xyXG59XHJcblxyXG4ubWZwLXdyYXAge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwMDE7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLm1mcC1jb250YWluZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubWZwLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHotaW5kZXg6IDEwMDAwMztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LCAubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY3Vyc29yOiBhdXRvO1xyXG59XHJcblxyXG4ubWZwLWFqYXgtY3VyIHtcclxuICBjdXJzb3I6IHByb2dyZXNzO1xyXG59XHJcblxyXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0O1xyXG59XHJcblxyXG4ubWZwLXpvb20ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47XHJcbn1cclxuXHJcbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcclxuICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbi5tZnAtY2xvc2UsIC5tZnAtYXJyb3csIC5tZnAtcHJlbG9hZGVyLCAubWZwLWNvdW50ZXIge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5tZnAtaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWZwLXByZWxvYWRlciB7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAtMC44ZW07XHJcbiAgbGVmdDogOHB4O1xyXG4gIHJpZ2h0OiA4cHg7XHJcbiAgei1pbmRleDogMTAwMDA0O1xyXG59XHJcblxyXG4ubWZwLXByZWxvYWRlciBhIHtcclxuICBjb2xvcjogI0NDQztcclxufVxyXG5cclxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XHJcbiAgY29sb3I6ICNGRkY7XHJcbn1cclxuXHJcbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uLm1mcC1jbG9zZSwgYnV0dG9uLm1mcC1hcnJvdyB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMDtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHotaW5kZXg6IDEwMDAwNTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLm1mcC1jbG9zZSwgYnV0dG9uLmdtYi1tb2RhbC1jbG9zZSB7XHJcbiAgd2lkdGg6IDQ0cHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XHJcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTtcclxufVxyXG5cclxuLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cywgYnV0dG9uLmdtYi1tb2RhbC1jbG9zZTpob3ZlciwgYnV0dG9uLmdtYi1tb2RhbC1jbG9zZTpmb2N1cyB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcclxufVxyXG5cclxuLm1mcC1jbG9zZTphY3RpdmUge1xyXG4gIHRvcDogMXB4O1xyXG59XHJcblxyXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcclxuICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSwgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIHJpZ2h0OiAtNnB4O1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1mcC1jb3VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGNvbG9yOiAjQ0NDO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ubWZwLWFycm93IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgb3BhY2l0eTogMC42NTtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xyXG4gIG1hcmdpbjogMDtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAtNTVweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA5MHB4O1xyXG4gIGhlaWdodDogMTEwcHg7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcblxyXG4ubWZwLWFycm93OmFjdGl2ZSB7XHJcbiAgbWFyZ2luLXRvcDogLTU0cHg7XHJcbn1cclxuXHJcbi5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XHJcbn1cclxuXHJcbi5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyLCAubWZwLWFycm93IC5tZnAtYiwgLm1mcC1hcnJvdyAubWZwLWEge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgbWFyZ2luLXRvcDogMzVweDtcclxuICBtYXJnaW4tbGVmdDogMzVweDtcclxuICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm1mcC1hcnJvdzphZnRlciwgLm1mcC1hcnJvdyAubWZwLWEge1xyXG4gIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcclxuICB0b3A6IDhweDtcclxufVxyXG5cclxuLm1mcC1hcnJvdzpiZWZvcmUsIC5tZnAtYXJyb3cgLm1mcC1iIHtcclxuICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xyXG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XHJcbiAgb3BhY2l0eTogMC43O1xyXG59XHJcblxyXG4ubWZwLWFycm93LWxlZnQge1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdDphZnRlciwgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYSB7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgbWFyZ2luLWxlZnQ6IDMxcHg7XHJcbn1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUsIC5tZnAtYXJyb3ctbGVmdCAubWZwLWIge1xyXG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGO1xyXG59XHJcblxyXG4ubWZwLWFycm93LXJpZ2h0IHtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLm1mcC1hcnJvdy1yaWdodDphZnRlciwgLm1mcC1hcnJvdy1yaWdodCAubWZwLWEge1xyXG4gIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgbWFyZ2luLWxlZnQ6IDM5cHg7XHJcbn1cclxuXHJcbi5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLCAubWZwLWFycm93LXJpZ2h0IC5tZnAtYiB7XHJcbiAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjtcclxufVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA5MDBweDtcclxufVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gIHRvcDogLTQwcHg7XHJcbn1cclxuXHJcbi5tZnAtaWZyYW1lLXNjYWxlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcclxufVxyXG5cclxuLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG59XHJcblxyXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXHJcbmltZy5tZnAtaW1nIHtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXHJcbi5tZnAtZmlndXJlIHtcclxuICBsaW5lLWhlaWdodDogMDtcclxufVxyXG5cclxuLm1mcC1maWd1cmU6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogNDBweDtcclxuICBib3R0b206IDQwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gIGJhY2tncm91bmQ6ICM0NDQ7XHJcbn1cclxuXHJcbi5tZnAtZmlndXJlIHNtYWxsIHtcclxuICBjb2xvcjogI0JEQkRCRDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbn1cclxuXHJcbi5tZnAtZmlndXJlIGZpZ3VyZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubWZwLWJvdHRvbS1iYXIge1xyXG4gIG1hcmdpbi10b3A6IC0zNnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbi5tZnAtdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgY29sb3I6ICNGM0YzRjM7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7XHJcbn1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XHJcbiAgLyoqXHJcblx0ICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXHJcblx0ICAgKi9cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xyXG5cdHBhZGRpbmctbGVmdDogMDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcclxuXHRwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0bWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcblxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuXHRib3R0b206IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHRvcDogYXV0bztcclxuXHRwYWRkaW5nOiAzcHggNXB4O1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcclxuXHRwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XHJcblx0cmlnaHQ6IDVweDtcclxuXHR0b3A6IDNweDtcclxuICB9XHJcblxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDM1cHg7XHJcblx0aGVpZ2h0OiAzNXB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAzNXB4O1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gIC5tZnAtYXJyb3cge1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xyXG4gIH1cclxuXHJcbiAgLm1mcC1hcnJvdy1sZWZ0IHtcclxuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XHJcblx0dHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICB9XHJcblxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcclxuXHR0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLm1mcC1jb250YWluZXIge1xyXG5cdHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ubWZwLWllNyAubWZwLWltZyB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLm1mcC1pZTcgLm1mcC1ib3R0b20tYmFyIHtcclxuICB3aWR0aDogNjAwcHg7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5tZnAtaWU3IC5tZnAtY29udGFpbmVyIHtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ubWZwLWllNyAubWZwLWNvbnRlbnQge1xyXG4gIHBhZGRpbmctdG9wOiA0NHB4O1xyXG59XHJcblxyXG4ubWZwLWllNyAubWZwLWNsb3NlIHtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbi53aGl0ZS1wb3B1cCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG59XHJcblxyXG4ud2hpdGUtcG9wdXAubWFya2VyLWljb24tbW9kYWwge1xyXG4gIHBhZGRpbmctYm90dG9tOjUwcHg7XHJcbn0iLCIvKiFcclxuICogTWFwcyBCdWlsZGVyIEFkbWluIFNldHRpbmdzIFBhZ2VzIFNDU1MvQ1NTXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbjogVGhlIE1haW4gU0NTUyBmaWxlIGZvciBhZG1pbiBTRVRUSU5HUyBzdHlsZXMgd2hpY2ggaXMgY29tcGlsZWQgYW5kIG1pbmlmaWVkIHZpYSBHdWxwIHRhc2tydW5uZXJcclxuICogQHBhY2thZ2U6ICAgICBHTUJcclxuICogQHN1YnBhY2thZ2U6ICBTQ1NTL0FkbWluXHJcbiAqIEBjb3B5cmlnaHQ6ICAgQ29weXJpZ2h0IChjKSAyMDE1LCBXb3JkSW1wcmVzc1xyXG4gKiBAbGljZW5zZTogICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtMi4wLnBocCBHTlUgUHVibGljIExpY2Vuc2VcclxuKi9cclxuI2dvb2dsZS1tYXAtd3JhcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XHJcbn1cclxuXHJcbi5ob3Zlci10cmFuc2l0aW9uLCAubWFya2VyLWljb24tcm93IC5pY29uLCAubWFya2VyLXJvdyAubWFya2VyLWl0ZW0ge1xyXG4gIEBpbmNsdWRlIGVhc2luZy10cmFuc2l0aW9uO1xyXG59XHJcblxyXG4uYm94LXNpemluZyB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uY21iMi1pZC1nbWItdGhlbWUtanNvbiwgI21hcmtlci1pY29uLW1vZGFsLCAuZ21iLWhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1hcmtlci1pbmZvLXdyYXBwZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcbiAgbWFyZ2luOiA4cHggMCA0cHg7XHJcbiAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMTJweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgPiBkaXYge1xyXG5cdG1hcmdpbjogMCAwIDVweDtcclxuXHRwYWRkaW5nOiAwO1xyXG4gIH1cclxuICA+IGRpdi5yYXRpbmctd3JhcCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVwZWF0YWJsZS1ncm91cGluZyB7XHJcbiAgLmNtYi1uZXN0ZWQtdGFibGUgdGQge1xyXG5cdHBhZGRpbmctdG9wOiAzcHg7XHJcblx0cHJlIHRleHRhcmVhIHtcclxuXHQgIGhlaWdodDogNTBweDtcclxuXHR9XHJcbiAgfVxyXG4gIC5jbWItbmVzdGVkLXRhYmxlIHRkIHByZSB7XHJcblx0bWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5ldy13aW5kb3csIHNwYW4ubmV3LXdpbmRvdyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbmV3LXdpbmRvdy1pY29uLnBuZycpIG5vLXJlcGVhdCByaWdodCAzcHggdHJhbnNwYXJlbnQ7XHJcbiAgcGFkZGluZy1yaWdodDogMTZweDtcclxufVxyXG5cclxuc3Bhbi5uZXctd2luZG93IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIG1hcmdpbjogMCAwIDAgMnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDFweDtcclxufVxyXG5cclxuLm1mcC1jb250ZW50ICNtYXJrZXItaWNvbi1tb2RhbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qU2hvcnRjb2RlIElucHV0ICovXHJcblxyXG4uc2hvcnRjb2RlLXdyYXAge1xyXG4gIG1hcmdpbjogMXB4IDE0cHggMTJweCAxMXB4O1xyXG4gIGxhYmVsIHtcclxuXHRtYXJnaW46IDAgMCAzcHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgLnNob3J0Y29kZS1pbnB1dCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIE1lc3NhZ2VzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLndwZ3AtbWVzc2FnZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM3QUQwM0E7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICBib3gtc2hhZG93OiAxcHggMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogMXB4IDEycHg7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLndwZ3AtbWVzc2FnZS53YXJuaW5nLW1lc3NhZ2Uge1xyXG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2Q0MDAwMDtcclxuICBtYXJnaW46IDIwcHggMCAwO1xyXG59XHJcblxyXG4ud3BncC1tZXNzYWdlIHAsIC5mb3JtLXRhYmxlIHRkIC53cGdwLW1lc3NhZ2UgcCB7XHJcbiAgbWFyZ2luOiAuNWVtIDA7XHJcbiAgcGFkZGluZzogMnB4O1xyXG59XHJcblxyXG4ucGxhY2VzLWNoYW5nZS1tZXNzYWdlIHtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIG1hcmdpbi1yaWdodDogMnB4O1xyXG4gIHAge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuI2dvb2dsZS1tYXAtd3JhcCAud3BncC1tZXNzYWdlIHtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gR29vZ2xlIE1hcCBNZXRhYm94XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI2NtYjItbWV0YWJveC1nb29nbGVfbWFwc19wcmV2aWV3X21ldGFib3ggPiBkaXYge1xyXG4gIHBhZGRpbmc6IDVweCAwIDA7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4jbWFwIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnBsYWNlcy1sb2FkaW5nIHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9zcGlubmVyLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgdHJhbnNwYXJlbnQ7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC0zNHB4O1xyXG4gIHJpZ2h0OiAzMXB4O1xyXG4gIHBhZGRpbmc6IDAgMjVweCAwIDA7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNtYjItaWQtZ21iLW1hcC10eXBlIHRkIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmNtYjItaWQtZ21iLW1hcC10eXBlLWNvbnRyb2wgLmNtYjItb3B0aW9uIHtcclxuICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiBHZW5lcmFsIFN0eWxlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5jbWIyLWlkLWdtYi1zZWFyY2gtcmFkaXVzLCAuY21iMi1pZC1nbWItcGxhY2VzLXNlYXJjaC1tdWx0aWNoZWNrYm94IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jZ29vZ2xlX21hcHNfZGV0YWlsc19vcHRpb25zIHRyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jZ29vZ2xlX21hcHNfZGV0YWlsc19vcHRpb25zIHRyLmNtYjItaWQtZ21iLXNob3ctcG9pIHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbi5zbmF6enktbGluayB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuI3dpZHRoX2hlaWdodF93cmFwID4gZGl2IHtcclxuICBtYXJnaW46IDAgMCAxMHB4O1xyXG59XHJcblxyXG4uaW5uZXItc2lkZWJhciB0YWJsZS5jbWJfbWV0YWJveCBsYWJlbC5zaXplLWxhYmVsLCAjc2lkZS1zb3J0YWJsZXMgdGFibGUuY21iX21ldGFib3ggbGFiZWwuc2l6ZS1sYWJlbCwgbGFiZWwuc2l6ZS1sYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbiNwb3N0c3R1ZmYgaDIuY21iLWdyb3VwLW5hbWUge1xyXG4gIEBpbmNsdWRlIG1vZGFsLWxhYmVsO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gUGxhY2UgTWFya2Vyc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNpbmZvYnViYmxlLWNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDAgMCAwIDA7XHJcbiAgbWFyZ2luOiAzcHggLTIwcHggMCAwO1xyXG4gIG1pbi13aWR0aDogMzE0cHg7XHJcbiAgbWluLWhlaWdodDogODBweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuXHJcbiAgcCB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdG1hcmdpbjogMCAwIDdweDtcclxuXHRjb2xvcjogIzJDMkMyQztcclxuICB9XHJcbiAgLnBsYWNlLXRpdGxlIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xyXG5cdGZvbnQtZmFtaWx5OiBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRsaW5lLWhlaWdodDogMjFweDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdG1pbi1oZWlnaHQ6IDIxcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICAucGxhY2UtZGVzY3JpcHRpb24ge1xyXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFya2VyLWNvbmZpcm0tcGxhY2Uge1xyXG4gIG1hcmdpbjogMCA4cHggNHB4IDA7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ubWFya2VyLWNvbmZpcm0tcGxhY2U6aG92ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyogSGFja3kgZml4IHRvIHByZXZlbnQgc2Nyb2xsYmFycyAqL1xyXG4jZ29vZ2xlX21hcHNfcHJldmlld19tZXRhYm94IC5nbS1zdHlsZS1pdywgI2dvb2dsZV9tYXBzX3ByZXZpZXdfbWV0YWJveCAuZ20tc3R5bGUtaXcgPiBkaXYge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNnb29nbGVfbWFwc19wcmV2aWV3X21ldGFib3ggLmdtLXN0eWxlLWl3ID4gZGl2ID4gZGl2IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jaW5mb2J1YmJsZS1jb250ZW50IHtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNpbmZvYnViYmxlLWNvbnRlbnQubG9hZGluZyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9hZGluZy1sYXJnZS5HSUYnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAjRkZGO1xyXG59XHJcblxyXG4jZ29vZ2xlLW1hcC13cmFwIGRpdiNpbmZvYnViYmxlLWNvbnRlbnQgPiBkaXYge1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIFJhdGluZ3MgKi9cclxuI2luZm9idWJibGUtY29udGVudCB7XHJcbiAgLnJhdGluZy13cmFwIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuICAubnVtZXJpYy1yYXRpbmcge1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRjb2xvcjogI0RENEIzOTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbjogMCA1cHggMCAwO1xyXG4gIH1cclxuICAuc3Rhci1yYXRpbmctd3JhcCB7XHJcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWcvcmV2aWV3X3N0YXJzLnBuZycpIG5vLXJlcGVhdCAwIDAgdHJhbnNwYXJlbnQ7XHJcblx0aGVpZ2h0OiAxM3B4O1xyXG5cdHdpZHRoOiA2N3B4O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbjogNHB4IDAgMDtcclxuICB9XHJcbiAgLnN0YXItcmF0aW5nLXNpemUge1xyXG5cdGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3Jldmlld19zdGFycy5wbmcnKSBuby1yZXBlYXQgMCAtMTNweCB0cmFuc3BhcmVudDtcclxuXHRoZWlnaHQ6IDEzcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gRWRpdGFibGUgTWFya2VyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiNlZGl0LXRvb2xiYXIge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgPiBsaSB7XHJcblx0bWFyZ2luOiAwIDRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdGhlaWdodDogMjFweDtcclxuXHR3aWR0aDogMjFweDtcclxuXHRvcGFjaXR5OiAuNTtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy1pbmZvd2luZG93LTAwMi5zdmcnKTtcclxuXHQmOmhvdmVyIHtcclxuXHQgIG9wYWNpdHk6IC43NTtcclxuXHR9XHJcblxyXG5cdCYudHJhc2gtbWFya2VyIHtcclxuXHQgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IDA7XHJcblx0fVxyXG5cclxuXHQmLmVkaXQtaW5mbyB7XHJcblx0ICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy1hcHAtMDAwLnN2ZycpO1xyXG5cdCAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjFweCAyMXB4O1xyXG5cdH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuRGlzcGxheSBPcHRpb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiNsYXQtbG5nLXdyYXAgaW5wdXRbdHlwZT10ZXh0XS5sYXRpdHVkZSwgI2xhdC1sbmctd3JhcCBpbnB1dFt0eXBlPXRleHRdLmxvbmdpdHVkZSxcclxuI3NpZGUtc29ydGFibGVzICNsYXQtbG5nLXdyYXAgaW5wdXRbdHlwZT10ZXh0XS5sYXRpdHVkZSwgI3NpZGUtc29ydGFibGVzICNsYXQtbG5nLXdyYXAgaW5wdXRbdHlwZT10ZXh0XS5sb25naXR1ZGUge1xyXG4gIHdpZHRoOiAxMDBweDtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLyogTWluaSBtZXNzYWdlICovXHJcblxyXG4ubGF0LWxuZy1jaGFuZ2UtbWVzc2FnZSB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICB3aWR0aDogMTAwJTtcclxuICA+IHAge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuLmxhdC1sbmctdXBkYXRlLWJ0biB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbjogN3B4IDAgMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuU2F2ZSBJbmZvIFdpbmRvdyBUb29sYmFyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNzYXZlLXRvb2xiYXIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gID4gbGkge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHQmOmZpcnN0LWNoaWxkIHtcclxuXHQgIG1hcmdpbjogMCA1cHggMCAwO1xyXG5cdH1cclxuXHQuZ29vZ2xlLWJ0biB7XHJcblx0ICB3aWR0aDogNzVweDtcclxuXHR9XHJcbiAgfVxyXG59XHJcblxyXG4jaW5mb2J1YmJsZS1jb250ZW50IC5tYXJrZXItZWRpdC1saW5rLXdyYXAge1xyXG4gIGEge1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cclxuXHQmLm1hcmtlci1lZGl0LWxpbmsge1xyXG5cdCAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbWFya2VyLWJ0bi5wbmcnKSBuby1yZXBlYXQgMCAwIHRyYW5zcGFyZW50O1xyXG5cdCAgbWFyZ2luOiA0cHggMCAwO1xyXG5cdCAgZGlzcGxheTogYmxvY2s7XHJcblx0ICBmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHQgIG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuICB9XHJcbn1cclxuXHJcbiNzYXZlLXRvb2xiYXIgPiBsaSAubWFya2VyLWVkaXQtbGluayB7XHJcbiAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuI2luZm9idWJibGUtY29udGVudCAuZWRpdC1wbGFjZS10aXRsZSB7XHJcbiAgd2lkdGg6IDI5MHB4O1xyXG4gIG1hcmdpbjogMCAwIDEwcHg7XHJcbn1cclxuXHJcbiNpbmZvYnViYmxlLWNvbnRlbnQgLmVkaXQtcGxhY2UtZGVzY3JpcHRpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1hcCBFZGl0IFF1aWNrIFRvb2xiYXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI21hcC10b29sYmFyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIGJvdHRvbTogLTFweDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxuICBwYWRkaW5nOiAzcHggMXB4IDA7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEREQ7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREREO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREQ7XHJcbiAgbWluLXdpZHRoOiA1NzVweDtcclxuXHJcbiAgI3RpdGxlIHtcclxuXHRwYWRkaW5nOiAzcHg7XHJcbiAgfVxyXG5cclxuICAuZHJvcC1tYXJrZXIgLmRhc2hpY29ucyB7XHJcblx0bWFyZ2luOiA1cHggMCAwO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuXHRtYXJnaW46IDAgMnB4O1xyXG5cdC5kYXNoaWNvbnMge1xyXG5cdCAgZm9udC1zaXplOiAxMnB4O1xyXG5cdCAgd2lkdGg6IDEycHg7XHJcblx0ICBtYXJnaW46IDVweCAycHggMCAtMnB4O1xyXG5cdH1cclxuXHQmLmVkaXQtdGl0bGUge1xyXG5cdCAgZGlzcGxheTogbm9uZTsgLy9vbmx5IHNob3cgaW4gbW9kYWxcclxuXHR9XHJcbiAgfVxyXG5cclxuICAvL0xhdCBMbmcgVXBkYXRlXHJcbiAgLmxpdmUtbGF0LWxuZy13cmFwIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjREREO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwIDJweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0d2lkdGg6IDI1MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XHJcblx0aGVpZ2h0OiAyNHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG5cclxuXHQubGl2ZS1sYXRpdHVkZS13cmFwLCAubGl2ZS1sb25naXR1ZGUtd3JhcCB7XHJcblx0ICBmbG9hdDogbGVmdDtcclxuXHQgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcblxyXG5cdCAgc3BhbiB7XHJcblx0XHRsaW5lLWhlaWdodDogMjJweDtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdCAgfVxyXG5cdH1cclxuXHJcblx0LmxpdmUtbG9uZ2l0dWRlLCAubGl2ZS1sYXRpdHVkZSB7XHJcblx0ICBmb250LXNpemU6IDExcHg7XHJcblx0ICBtYXJnaW46IDA7XHJcblx0ICBwYWRkaW5nOiAwO1xyXG5cdCAgd2lkdGg6IDYwcHg7XHJcblx0ICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdCAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblx0LmxpdmUtbG9uZ2l0dWRlLWxhYmVsLCAubGl2ZS1sYXRpdHVkZS1sYWJlbCB7XHJcblx0ICBmb250LXNpemU6IDEwcHg7XHJcblx0ICBjb2xvcjogI0FBQTtcclxuXHQgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHQgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgcGFkZGluZzogMCAycHggMCAwO1xyXG5cdH1cclxuXHJcblx0YnV0dG9uIHtcclxuXHQgIGZsb2F0OiBsZWZ0O1xyXG5cdCAgbWFyZ2luOiAtMnB4IDAgLTJweCAtMnB4O1xyXG5cdCAgYm9yZGVyLXJhZGl1czogMDtcclxuXHQgIGhlaWdodDogMjZweDtcclxuXHQgIGJveC1zaGFkb3c6IG5vbmU7XHJcblx0ICAmOmhvdmVyIHtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRib3JkZXItY29sb3I6ICNjY2NjY2M7XHJcblx0ICB9XHJcblxyXG5cdH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy9IaWRlIG9uIHN1cGVyIHNtYWxsIHJlc29sdXRpb25zXHJcbkBtZWRpYShtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgI21hcC10b29sYmFyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1vZGFsIHN0eWxlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ubWFwLWF1dG9jb21wbGV0ZS13cmFwLFxyXG4ubWFwLXRpdGxlLXdyYXAge1xyXG4gIGxhYmVsIHtcclxuXHRAaW5jbHVkZSBtb2RhbC1sYWJlbDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBwLmNtYjItbWV0YWJveC1kZXNjcmlwdGlvbiB7XHJcblx0cGFkZGluZzogOHB4IDA7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuXHR3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5tYXAtYXV0b2NvbXBsZXRlLXdyYXAgbGFiZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmFmdGVyIHtcclxuXHRjb250ZW50OiAnICc7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAxMjBweDtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9wb3dlcmVkLWJ5LWdvb2dsZS1vbi13aGl0ZS5wbmcnKSBuby1yZXBlYXQgMCAwIHRyYW5zcGFyZW50O1xyXG5cdHdpZHRoOiAxMDRweDtcclxuXHRoZWlnaHQ6IDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuR29vZ2xlIFN0eWxlIEJ1dHRvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmdvb2dsZS1idG4ge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgaGVpZ2h0OiAyN3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gIG1pbi13aWR0aDogNTRweDtcclxuICBvdXRsaW5lOiAwO1xyXG4gIHBhZGRpbmc6IDAgOHB4O1xyXG5cclxufVxyXG5cclxuLmdvb2dsZS1idG4tYmx1ZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzREOTBGRTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0RDkwRkUsICM0Nzg3RUQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICM0ZDkwZmUsICM0Nzg3ZWQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMDc5RUQ7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgJjpob3ZlciB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzM1N0FFODtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0RDkwRkUsICMzNTdBRTgpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICM0ZDkwZmUsICMzNTdhZTgpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICMyRjVCQjc7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogIzJGNUJCNztcclxuICB9XHJcbiAgJjphY3RpdmUsICY6Zm9jdXMge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuXHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG5cdGJhY2tncm91bmQ6ICMzNTdBRTg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzJGNUJCNztcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgIzJGNUJCNztcclxuICB9XHJcbn1cclxuXHJcbi5nb29nbGUtYnRuLWRlZmF1bHQge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjRjVGNUY1LCAjRjFGMUYxKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZjVmNWY1LCAjZjFmMWYxKTtcclxuICBjb2xvcjogIzMzMztcclxuICBib3JkZXI6IDFweCBzb2xpZCAjRENEQ0RDO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcbiAgJjpob3ZlciB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNGOEY4RjgsICNGMUYxRjEpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmOGY4ZjgsICNmMWYxZjEpO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNDNkM2QzY7XHJcblx0Y29sb3I6ICMxMTE7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0YmFja2dyb3VuZDogI0Y4RjhGODtcclxuXHRjb2xvcjogIzExMTtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5UZW1wb3JhcnkgSW5mbyBXaW5kb3dcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5pbmZvd2luZG93LXRvb2xiYXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiA4cHggMCA1cHg7XHJcbn1cclxuXHJcbi5hZGQtbWFya2VyIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn0iLCIvKlxyXG4gKiBxVGlwMiAtIFByZXR0eSBwb3dlcmZ1bCB0b29sdGlwcyAtIHYyLjIuMFxyXG4gKiBodHRwOi8vcXRpcDIuY29tXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxNCBDcmFpZyBNaWNoYWVsIFRob21wc29uXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQsIEdQTCBsaWNlbnNlc1xyXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXHJcbiAqXHJcbiAqIERhdGU6IFN1biBNYXIgMTYgMjAxNCAwNzoxMiBFRFQtMDQwMFxyXG4gKiBQbHVnaW5zOiB0aXBzIHZpZXdwb3J0IGltYWdlbWFwIHN2ZyBtb2RhbFxyXG4gKiBTdHlsZXM6IGNzczNcclxuICovXHJcbi5xdGlwe1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAtMjgwMDBweDtcclxuXHR0b3A6IC0yODAwMHB4O1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdG1heC13aWR0aDogMjgwcHg7XHJcblx0bWluLXdpZHRoOiA1MHB4O1xyXG5cclxuXHRmb250LXNpemU6IDEwLjVweDtcclxuXHRsaW5lLWhlaWdodDogMTJweDtcclxuXHJcblx0ZGlyZWN0aW9uOiBsdHI7XHJcblxyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuXHQucXRpcC1jb250ZW50e1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogNXB4IDlweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHR9XHJcblxyXG5cdC5xdGlwLXRpdGxlYmFye1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogNXB4IDM1cHggNXB4IDEwcHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdGJvcmRlci13aWR0aDogMCAwIDFweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0LnF0aXAtdGl0bGViYXIgKyAucXRpcC1jb250ZW50eyBib3JkZXItdG9wLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuXHJcblx0LyogRGVmYXVsdCBjbG9zZSBidXR0b24gY2xhc3MgKi9cclxuXHQucXRpcC1jbG9zZXtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAtOXB4OyB0b3A6IC05cHg7XHJcblxyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0b3V0bGluZTogbWVkaXVtIG5vbmU7XHJcblxyXG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XHJcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdFx0LnF0aXAtdGl0bGViYXIgLnF0aXAtY2xvc2V7XHJcblx0XHRcdHJpZ2h0OiA0cHg7IHRvcDogNTAlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtOXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCogaHRtbCAucXRpcC10aXRsZWJhciAucXRpcC1jbG9zZXsgdG9wOiAxNnB4OyB9IC8qIElFIGZpeCAqL1xyXG5cclxuXHRcdC5xdGlwLXRpdGxlYmFyIC51aS1pY29uLFxyXG5cdFx0LnF0aXAtaWNvbiAudWktaWNvbntcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHRleHQtaW5kZW50OiAtMTAwMGVtO1xyXG5cdFx0XHRkaXJlY3Rpb246IGx0cjtcclxuXHRcdH1cclxuXHJcblx0XHQucXRpcC1pY29uLCAucXRpcC1pY29uIC51aS1pY29ue1xyXG5cdFx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdFx0LnF0aXAtaWNvbiAudWktaWNvbntcclxuXHRcdFx0XHR3aWR0aDogMThweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE0cHg7XHJcblxyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogMDtcclxuXHRcdFx0XHRmb250OiBub3JtYWwgYm9sZCAxMHB4LzEzcHggVGFob21hLHNhbnMtc2VyaWY7XHJcblxyXG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgbm8tcmVwZWF0IC0xMDBlbSAtMTAwZW07XHJcblx0XHRcdH1cclxuXHJcbi8qIEFwcGxpZWQgdG8gJ2ZvY3VzZWQnIHRvb2x0aXBzIGUuZy4gbW9zdCByZWNlbnRseSBkaXNwbGF5ZWQvaW50ZXJhY3RlZCB3aXRoICovXHJcbi5xdGlwLWZvY3Vze31cclxuXHJcbi8qIEFwcGxpZWQgb24gaG92ZXIgb2YgdG9vbHRpcHMgaS5lLiBhZGRlZC9yZW1vdmVkIG9uIG1vdXNlZW50ZXIvbW91c2VsZWF2ZSByZXNwZWN0aXZlbHkgKi9cclxuLnF0aXAtaG92ZXJ7fVxyXG5cclxuLyogRGVmYXVsdCB0b29sdGlwIHN0eWxlICovXHJcbi5xdGlwLWRlZmF1bHR7XHJcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRib3JkZXItY29sb3I6ICNGMUQwMzE7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkZGQTM7XHJcblx0Y29sb3I6ICM1NTU7XHJcbn1cclxuXHJcblx0LnF0aXAtZGVmYXVsdCAucXRpcC10aXRsZWJhcntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkVGOTM7XHJcblx0fVxyXG5cclxuXHQucXRpcC1kZWZhdWx0IC5xdGlwLWljb257XHJcblx0XHRib3JkZXItY29sb3I6ICNDQ0M7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRjFGMUYxO1xyXG5cdFx0Y29sb3I6ICM3Nzc7XHJcblx0fVxyXG5cclxuXHQucXRpcC1kZWZhdWx0IC5xdGlwLXRpdGxlYmFyIC5xdGlwLWNsb3Nle1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjQUFBO1xyXG5cdFx0Y29sb3I6ICMxMTE7XHJcblx0fVxyXG5cclxuXHJcblxyXG4ucXRpcC1zaGFkb3d7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHQtbW96LWJveC1zaGFkb3c6IDFweCAxcHggM3B4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdGJveC1zaGFkb3c6IDFweCAxcHggM3B4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG4vKiBBZGQgcm91bmRlZCBjb3JuZXJzIHRvIHlvdXIgdG9vbHRpcHMgaW46IEZGMyssIENocm9tZSAyKywgT3BlcmEgMTAuNissIElFOSssIFNhZmFyaSAyKyAqL1xyXG4ucXRpcC1yb3VuZGVkLFxyXG4ucXRpcC10aXBzeSxcclxuLnF0aXAtYm9vdHN0cmFwe1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLnF0aXAtcm91bmRlZCAucXRpcC10aXRsZWJhcntcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XHJcbn1cclxuXHJcbi8qIFlvdXR1YmUgdG9vbHRpcCBzdHlsZSAqL1xyXG4ucXRpcC15b3V0dWJle1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgM3B4ICMzMzM7XHJcblx0LW1vei1ib3gtc2hhZG93OiAwIDAgM3B4ICMzMzM7XHJcblx0Ym94LXNoYWRvdzogMCAwIDNweCAjMzMzO1xyXG5cclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Ym9yZGVyLXdpZHRoOiAwO1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAjNEE0QTRBO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjNEE0QTRBKSxjb2xvci1zdG9wKDEwMCUsYmxhY2spKTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzRBNEE0QSAwLGJsYWNrIDEwMCUpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjNEE0QTRBIDAsYmxhY2sgMTAwJSk7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIzRBNEE0QSAwLGJsYWNrIDEwMCUpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRBNEE0QSAwLGJsYWNrIDEwMCUpO1xyXG59XHJcblxyXG5cdC5xdGlwLXlvdXR1YmUgLnF0aXAtdGl0bGViYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuXHR9XHJcblxyXG5cdC5xdGlwLXlvdXR1YmUgLnF0aXAtY29udGVudHtcclxuXHRcdHBhZGRpbmc6IC43NWVtO1xyXG5cdFx0Zm9udDogMTJweCBhcmlhbCxzYW5zLXNlcmlmO1xyXG5cclxuXHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkdyYWRpZW50KEdyYWRpZW50VHlwZT0wLFN0YXJ0Q29sb3JTdHI9IzRhNGE0YSxFbmRDb2xvclN0cj0jMDAwMDAwKTtcclxuXHRcdC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkdyYWRpZW50KEdyYWRpZW50VHlwZT0wLFN0YXJ0Q29sb3JTdHI9IzRhNGE0YSxFbmRDb2xvclN0cj0jMDAwMDAwKTtcIjtcclxuXHR9XHJcblxyXG5cdC5xdGlwLXlvdXR1YmUgLnF0aXAtaWNvbntcclxuXHRcdGJvcmRlci1jb2xvcjogIzIyMjtcclxuXHR9XHJcblxyXG5cdC5xdGlwLXlvdXR1YmUgLnF0aXAtdGl0bGViYXIgLnVpLXN0YXRlLWhvdmVye1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMzAzMDMwO1xyXG5cdH1cclxuXHJcblxyXG4vKiBqUXVlcnkgVE9PTFMgVG9vbHRpcCBzdHlsZSAqL1xyXG4ucXRpcC1qdG9vbHN7XHJcblx0YmFja2dyb3VuZDogIzIzMjMyMztcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjNzE3MTcxKSwgdG8oIzIzMjMyMykpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzcxNzE3MSwgIzIzMjMyMyk7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNzE3MTcxLCAjMjMyMzIzKTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzcxNzE3MSwgIzIzMjMyMyk7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzcxNzE3MSwgIzIzMjMyMyk7XHJcblxyXG5cdGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XHJcblx0Ym9yZGVyOiAycHggc29saWQgcmdiYSgyNDEsMjQxLDI0MSwxKTtcclxuXHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiAycHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cclxuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxMnB4ICMzMzM7XHJcblx0LW1vei1ib3gtc2hhZG93OiAwIDAgMTJweCAjMzMzO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAxMnB4ICMzMzM7XHJcbn1cclxuXHJcblx0LyogSUUgU3BlY2lmaWMgKi9cclxuXHQucXRpcC1qdG9vbHMgLnF0aXAtdGl0bGViYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jNzE3MTcxLGVuZENvbG9yc3RyPSM0QTRBNEEpO1xyXG5cdFx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jNzE3MTcxLGVuZENvbG9yc3RyPSM0QTRBNEEpXCI7XHJcblx0fVxyXG5cdC5xdGlwLWp0b29scyAucXRpcC1jb250ZW50e1xyXG5cdFx0ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSM0QTRBNEEsZW5kQ29sb3JzdHI9IzIzMjMyMyk7XHJcblx0XHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSM0QTRBNEEsZW5kQ29sb3JzdHI9IzIzMjMyMylcIjtcclxuXHR9XHJcblxyXG5cdC5xdGlwLWp0b29scyAucXRpcC10aXRsZWJhcixcclxuXHQucXRpcC1qdG9vbHMgLnF0aXAtY29udGVudHtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0Ym9yZGVyOiAwIGRhc2hlZCB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdC5xdGlwLWp0b29scyAucXRpcC1pY29ue1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjNTU1O1xyXG5cdH1cclxuXHJcblx0LnF0aXAtanRvb2xzIC5xdGlwLXRpdGxlYmFyIC51aS1zdGF0ZS1ob3ZlcntcclxuXHRcdGJvcmRlci1jb2xvcjogIzMzMztcclxuXHR9XHJcblxyXG5cclxuLyogQ2x1ZXRpcCBzdHlsZSAqL1xyXG4ucXRpcC1jbHVldGlwe1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzogNHB4IDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cdC1tb3otYm94LXNoYWRvdzogNHB4IDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cdGJveC1zaGFkb3c6IDRweCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogI0Q5RDlDMjtcclxuXHRjb2xvcjogIzExMTtcclxuXHRib3JkZXI6IDAgZGFzaGVkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5cdC5xdGlwLWNsdWV0aXAgLnF0aXAtdGl0bGViYXJ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjODc4NzZBO1xyXG5cdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0Ym9yZGVyOiAwIGRhc2hlZCB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdC5xdGlwLWNsdWV0aXAgLnF0aXAtaWNvbntcclxuXHRcdGJvcmRlci1jb2xvcjogIzgwODA2NDtcclxuXHR9XHJcblxyXG5cdC5xdGlwLWNsdWV0aXAgLnF0aXAtdGl0bGViYXIgLnVpLXN0YXRlLWhvdmVye1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjNjk2OTUyO1xyXG5cdFx0Y29sb3I6ICM2OTY5NTI7XHJcblx0fVxyXG5cclxuXHJcbi8qIFRpcHN5IHN0eWxlICovXHJcbi5xdGlwLXRpcHN5e1xyXG5cdGJhY2tncm91bmQ6IGJsYWNrO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjg3KTtcclxuXHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlcjogMCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdGZvbnQtZmFtaWx5OiAnTHVjaWRhIEdyYW5kZScsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bGluZS1oZWlnaHQ6IDE2cHg7XHJcblx0dGV4dC1zaGFkb3c6IDAgMXB4IGJsYWNrO1xyXG59XHJcblxyXG5cdC5xdGlwLXRpcHN5IC5xdGlwLXRpdGxlYmFye1xyXG5cdFx0cGFkZGluZzogNnB4IDM1cHggMCAxMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQucXRpcC10aXBzeSAucXRpcC1jb250ZW50e1xyXG5cdFx0cGFkZGluZzogNnB4IDEwcHg7XHJcblx0fVxyXG5cclxuXHQucXRpcC10aXBzeSAucXRpcC1pY29ue1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMjIyO1xyXG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQucXRpcC10aXBzeSAucXRpcC10aXRsZWJhciAudWktc3RhdGUtaG92ZXJ7XHJcblx0XHRib3JkZXItY29sb3I6ICMzMDMwMzA7XHJcblx0fVxyXG5cclxuXHJcbi8qIFRpcHBlZCBzdHlsZSAqL1xyXG4ucXRpcC10aXBwZWR7XHJcblx0Ym9yZGVyOiAzcHggc29saWQgIzk1OUZBOTtcclxuXHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjlGOUY5O1xyXG5cdGNvbG9yOiAjNDU0NTQ1O1xyXG5cclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtZmFtaWx5OiBzZXJpZjtcclxufVxyXG5cclxuXHQucXRpcC10aXBwZWQgLnF0aXAtdGl0bGViYXJ7XHJcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG5cclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGJhY2tncm91bmQ6ICMzQTc5Qjg7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCMzQTc5QjgpLCB0bygjMkU2MjlEKSk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMzQTc5QjgsICMyRTYyOUQpO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjM0E3OUI4LCAjMkU2MjlEKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjM0E3OUI4LCAjMkU2MjlEKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICMzQTc5QjgsICMyRTYyOUQpO1xyXG5cdFx0ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMzQTc5QjgsZW5kQ29sb3JzdHI9IzJFNjI5RCk7XHJcblx0XHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMzQTc5QjgsZW5kQ29sb3JzdHI9IzJFNjI5RClcIjtcclxuXHR9XHJcblxyXG5cdC5xdGlwLXRpcHBlZCAucXRpcC1pY29ue1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzI4NTU4OTtcclxuXHRcdGJhY2tncm91bmQ6ICMyODU1ODk7XHJcblx0fVxyXG5cclxuXHRcdC5xdGlwLXRpcHBlZCAucXRpcC1pY29uIC51aS1pY29ue1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xyXG5cdFx0XHRjb2xvcjogIzU1NTtcclxuXHRcdH1cclxuXHJcblxyXG4vKipcclxuICogVHdpdHRlciBCb290c3RyYXAgc3R5bGUuXHJcbiAqXHJcbiAqIFRlc3RlZCB3aXRoIElFIDgsIElFIDksIENocm9tZSAxOCwgRmlyZWZveCA5LCBPcGVyYSAxMS5cclxuICogRG9lcyBub3Qgd29yayB3aXRoIElFIDcuXHJcbiAqL1xyXG4ucXRpcC1ib290c3RyYXB7XHJcblx0LyoqIFRha2VuIGZyb20gQm9vdHN0cmFwIGJvZHkgKi9cclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0Y29sb3I6ICMzMzMzMzM7XHJcblxyXG5cdC8qKiBUYWtlbiBmcm9tIEJvb3RzdHJhcCAucG9wb3ZlciAqL1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdC1tb3otYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0Ym94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cdC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xyXG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbn1cclxuXHJcblx0LnF0aXAtYm9vdHN0cmFwIC5xdGlwLXRpdGxlYmFye1xyXG5cdFx0LyoqIFRha2VuIGZyb20gQm9vdHN0cmFwIC5wb3BvdmVyLXRpdGxlICovXHJcblx0XHRwYWRkaW5nOiA4cHggMTRweDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XHJcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XHJcblx0fVxyXG5cclxuXHRcdC5xdGlwLWJvb3RzdHJhcCAucXRpcC10aXRsZWJhciAucXRpcC1jbG9zZXtcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIE92ZXJyaWRlcyBxVGlwMjpcclxuXHRcdFx0ICogLnF0aXAtdGl0bGViYXIgLnF0aXAtY2xvc2V7XHJcblx0XHRcdCAqICAgWy4uLl1cclxuXHRcdFx0ICogICByaWdodDogNHB4O1xyXG5cdFx0XHQgKiAgIHRvcDogNTAlO1xyXG5cdFx0XHQgKiAgIFsuLi5dXHJcblx0XHRcdCAqICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0ICogfVxyXG5cdFx0XHQgKi9cclxuXHRcdFx0cmlnaHQ6IDExcHg7XHJcblx0XHRcdHRvcDogNDUlO1xyXG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdC5xdGlwLWJvb3RzdHJhcCAucXRpcC1jb250ZW50e1xyXG5cdFx0LyoqIFRha2VuIGZyb20gQm9vdHN0cmFwIC5wb3BvdmVyLWNvbnRlbnQgKi9cclxuXHRcdHBhZGRpbmc6IDlweCAxNHB4O1xyXG5cdH1cclxuXHJcblx0LnF0aXAtYm9vdHN0cmFwIC5xdGlwLWljb257XHJcblx0XHQvKipcclxuXHRcdCAqIE92ZXJyaWRlcyBxVGlwMjpcclxuXHRcdCAqIC5xdGlwLWRlZmF1bHQgLnF0aXAtaWNvbiB7XHJcblx0XHQgKiAgIGJvcmRlci1jb2xvcjogI0NDQztcclxuXHRcdCAqICAgYmFja2dyb3VuZDogI0YxRjFGMTtcclxuXHRcdCAqICAgY29sb3I6ICM3Nzc7XHJcblx0XHQgKiB9XHJcblx0XHQgKi9cclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0XHQucXRpcC1ib290c3RyYXAgLnF0aXAtaWNvbiAudWktaWNvbntcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIE92ZXJyaWRlcyBxVGlwMjpcclxuXHRcdFx0ICogLnF0aXAtaWNvbiAudWktaWNvbntcclxuXHRcdFx0ICogICB3aWR0aDogMThweDtcclxuXHRcdFx0ICogICBoZWlnaHQ6IDE0cHg7XHJcblx0XHRcdCAqIH1cclxuXHRcdFx0ICovXHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblxyXG5cdFx0XHQvKiBUYWtlbiBmcm9tIEJvb3RzdHJhcCAuY2xvc2UgKi9cclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRcdHRleHQtc2hhZG93OiAwIDFweCAwICNmZmZmZmY7XHJcblx0XHRcdG9wYWNpdHk6IDAuMjtcclxuXHRcdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKTtcclxuXHRcdH1cclxuXHJcblx0XHQucXRpcC1ib290c3RyYXAgLnF0aXAtaWNvbiAudWktaWNvbjpob3ZlcntcclxuXHRcdFx0LyogVGFrZW4gZnJvbSBCb290c3RyYXAgLmNsb3NlOmhvdmVyICovXHJcblx0XHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0b3BhY2l0eTogMC40O1xyXG5cdFx0XHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xyXG5cdFx0fVxyXG5cclxuXHJcbi8qIElFOSBmaXggLSByZW1vdmVzIGFsbCBmaWx0ZXJzICovXHJcbi5xdGlwOm5vdCguaWU5aGF4b3JzKSBkaXYucXRpcC1jb250ZW50LFxyXG4ucXRpcDpub3QoLmllOWhheG9ycykgZGl2LnF0aXAtdGl0bGViYXJ7XHJcblx0ZmlsdGVyOiBub25lO1xyXG5cdC1tcy1maWx0ZXI6IG5vbmU7XHJcbn1cclxuXHJcblxyXG5cclxuLnF0aXAgLnF0aXAtdGlwe1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ei1pbmRleDogMTA7XHJcblxyXG59XHJcblxyXG5cdC8qIE9wZXJhIGJ1ZyAjMzU3IC0gSW5jb3JyZWN0IHRpcCBwb3NpdGlvblxyXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9DcmFnYTg5L3FUaXAyL2lzc3Vlcy8zNjcgKi9cclxuXHR4Oi1vLXByZWZvY3VzLCAucXRpcCAucXRpcC10aXB7XHJcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQucXRpcCAucXRpcC10aXAsXHJcblx0LnF0aXAgLnF0aXAtdGlwIC5xdGlwLXZtbCxcclxuXHQucXRpcCAucXRpcC10aXAgY2FudmFze1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuXHRcdGNvbG9yOiAjMTIzNDU2O1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXI6IDAgZGFzaGVkIHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0LnF0aXAgLnF0aXAtdGlwIGNhbnZhc3sgdG9wOiAwOyBsZWZ0OiAwOyB9XHJcblxyXG5cdC5xdGlwIC5xdGlwLXRpcCAucXRpcC12bWx7XHJcblx0XHRiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdH1cclxuXHJcbiNxdGlwLW92ZXJsYXl7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGxlZnQ6IDA7IHRvcDogMDtcclxuXHR3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5cdC8qIEFwcGxpZWQgdG8gbW9kYWxzIHdpdGggc2hvdy5tb2RhbC5ibHVyIHNldCB0byB0cnVlICovXHJcblx0I3F0aXAtb3ZlcmxheS5ibHVyc3sgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5cdC8qIENoYW5nZSBvcGFjaXR5IG9mIG92ZXJsYXkgaGVyZSAqL1xyXG5cdCNxdGlwLW92ZXJsYXkgZGl2e1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDsgdG9wOiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuXHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuXHJcblx0XHRvcGFjaXR5OiAwLjc7XHJcblx0XHRmaWx0ZXI6YWxwaGEob3BhY2l0eT03MCk7XHJcblx0XHQtbXMtZmlsdGVyOlwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApXCI7XHJcblx0fVxyXG5cclxuIiwiLyoqXHJcbiAqIENNQiBNYWduaWZpYyBCdWlsZGVyIFNDU1NcclxuICpcclxuICogQHBhY2thZ2UgICAgIEdpdmVcclxuICogQHN1YnBhY2thZ2UgIFNDU1MvQWRtaW5cclxuICogQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAxNSwgV29yZEltcHJlc3NcclxuICogQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtMi4wLnBocCBHTlUgUHVibGljIExpY2Vuc2VcclxuKi9cclxuXHJcbi8vRGlzcGxheSBub25lIHRoaW5nc1xyXG4ubWFnbmlmaWMtYnVpbGRlciAjdGl0bGVkaXYsIC5tYWduaWZpYy1idWlsZGVyICNzdWJtaXRkaXYsIC5tYWduaWZpYy1idWlsZGVyICNnb29nbGVfbWFwc19wcmV2aWV3X21ldGFib3ggLmhhbmRsZWRpdiwgLm1hZ25pZmljLWJ1aWxkZXIgI2dvb2dsZV9tYXBzX3ByZXZpZXdfbWV0YWJveCAudWktc29ydGFibGUtaGFuZGxlLCAubWFnbmlmaWMtYnVpbGRlciAjcG9zdC1ib2R5LWNvbnRlbnQsIC5tYWduaWZpYy1idWlsZGVyICNtYXJrZXItaWNvbi1tb2RhbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy9Cb3JkZXIgbm9uZSB0aGluZ3NcclxuLm1hZ25pZmljLWJ1aWxkZXIgI2dvb2dsZV9tYXBzX3ByZXZpZXdfbWV0YWJveCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4vL05vIG1hcmdpbiBvciBwYWRkaW5nIHRoaW5nc1xyXG4ubWFnbmlmaWMtYnVpbGRlciAjZ29vZ2xlX21hcHNfcHJldmlld19tZXRhYm94IC5pbnNpZGUge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuTWFnbmlmaWMgQnVpbGRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ubWFnbmlmaWMtYnVpbGRlciNwb3N0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAyMHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYmFja2dyb3VuZDogI0VFRTtcclxuICB3aWR0aDogYXV0bztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAjZ29vZ2xlLW1hcC13cmFwIHtcclxuXHRib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAjcG9zdHN0dWZmIHtcclxuXHRwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcblxyXG4gICNjbWIyLW1ldGFib3gtZ29vZ2xlX21hcHNfcHJldmlld19tZXRhYm94IHtcclxuXHQ+IGRpdiB7XHJcblx0ICBwYWRkaW5nLXRvcDogMDtcclxuXHR9XHJcbiAgfVxyXG4gIC5tYWduaWZpYy1idWlsZGVyI3Bvc3QgLnBsYWNlcy1sb2FkaW5nIHtcclxuXHR0b3A6IGF1dG87XHJcblx0cmlnaHQ6IC0xNzVweDtcclxuXHRib3R0b206IDE1cHg7XHJcblx0bGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gICNtYXAtdG9vbGJhciB7XHJcblx0bWluLXdpZHRoOiA2NzhweDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5NYWduaWZpYyBCdWlsZGVyIFNpZGViYXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5tYWduaWZpYy1idWlsZGVyI3Bvc3Qge1xyXG5cclxuICAjcG9zdGJveC1jb250YWluZXItMSB7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0cGFkZGluZzogOTBweCAwIDUwcHg7XHJcblx0d2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbWFwcy1idWlsZGVyLWxvZ28tc21hbGwtbm9uLXByby5wbmcnKSBuby1yZXBlYXQgMTVweCAxNXB4IHRyYW5zcGFyZW50O1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHQgIGNvbnRlbnQ6ICcgJztcclxuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgIGJvdHRvbTogMTVweDtcclxuXHQgIHJpZ2h0OiAxMzBweDtcclxuXHQgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3Bvd2VyZWQtYnktZ29vZ2xlLW9uLXdoaXRlLnBuZycpIG5vLXJlcGVhdCAwIDAgdHJhbnNwYXJlbnQ7XHJcblx0ICB3aWR0aDogMTA0cHg7XHJcblx0ICBoZWlnaHQ6IDE2cHg7XHJcblx0fVxyXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdCAgU2lkZWJhclxyXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblx0I3NpZGUtc29ydGFibGVzIHtcclxuXHQgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RERDtcclxuXHQgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREO1xyXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcclxuXHQgIG92ZXJmbG93LXk6IGF1dG87XHJcblx0ICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblx0ICBoZWlnaHQ6IDEwMCU7XHJcblx0ICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQgIC8vQmx1ZSBzZWN0aW9uc1xyXG5cdCAgLnVpLXNvcnRhYmxlLWhhbmRsZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0ICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJsdWUsIDEwJSk7XHJcblx0XHR9XHJcblx0ICB9XHJcblx0ICAuaGFuZGxlZGl2IHtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdCAgfVxyXG5cclxuXHR9XHJcblxyXG5cdC5tYWduaWZpYy1zdWJtaXQge1xyXG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgYm90dG9tOiAxMHB4O1xyXG5cdCAgcmlnaHQ6IDEwcHg7XHJcblx0ICBkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdEdvb2dsZSBQbGFjZXNcclxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cdCNnb29nbGVfbWFwc19zZWFyY2hfb3B0aW9ucyB7XHJcblxyXG5cdCAgLmNtYjItaWQtZ21iLXNlYXJjaC1yYWRpdXMge1xyXG5cdFx0bWFyZ2luLXRvcDoxNXB4O1xyXG5cdFx0Ym9yZGVyLXRvcDpub25lO1xyXG5cdCAgfVxyXG5cclxuXHQgIC5jbWIyLWlkLWdtYi1wbGFjZXMtc2VhcmNoLW11bHRpY2hlY2tib3gge1xyXG5cdFx0dWwgbGkge1xyXG5cdFx0ICB3aWR0aDogNTAlO1xyXG5cdFx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQgIC5jbWIyLW9wdGlvbiB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0ICB9XHJcblx0XHQgIGxhYmVsIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0cGFkZGluZy1yaWdodDogM3B4O1xyXG5cdFx0ICB9XHJcblx0XHR9XHJcblx0ICB9XHJcblx0fSAvLyNnb29nbGVfbWFwc19zZWFyY2hfb3B0aW9uc1xyXG5cclxuXHQvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRNYXAgTWFya2Vyc1xyXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblx0YS5kcm9wLW1hcmtlciB7XHJcblx0ICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdCAgZGlzcGxheTogYmxvY2s7XHJcblx0ICB3aWR0aDogMTEwcHg7XHJcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQud2hpdGUtcG9wdXAge1xyXG5cdCAgZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5wbGFjZXMtY2hhbmdlLW1lc3NhZ2UgLmJ1dHRvbiB7XHJcblx0ICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdCAgZmxvYXQ6IGxlZnQ7XHJcblx0fVxyXG5cclxuICB9XHJcblxyXG4gICNwb3N0LWJvZHkuY29sdW1ucy0yICNzaWRlLXNvcnRhYmxlcyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdHdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBvc3Rib3gge1xyXG5cdG1hcmdpbjogMDtcclxuXHRib3JkZXItbGVmdDogbm9uZTtcclxuXHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHJcblx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdCAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREQ7XHJcblx0fVxyXG4gIH1cclxuXHJcbiAgLnRvZ2dsZS1yZXBlYXRlci1ncm91cHMge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiAxNDBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAxMHB4IDAgMDtcclxuICB9XHJcbiAgYnV0dG9uLmVkaXQtdGl0bGUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi8qIE5vIERyYWdnaW5nICovXHJcbi5tYWduaWZpYy1idWlsZGVyIC5wb3N0Ym94IC5obmRsZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICY6aG92ZXIge1xyXG5cdGNvbG9yOiAjMjMyODJkO1xyXG5cdGJhY2tncm91bmQ6ICNmNWY1ZjU7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFnbmlmaWMtYnVpbGRlciNwb3N0IC5wbGFjZXMtbG9hZGluZyB7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4jd3Bib2R5LWNvbnRlbnQgLm1hZ25pZmljLXN1Ym1pdCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkVkaXRvciBCdXR0b25cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI21hcC1idWlsZGVyIHtcclxuICBtYXJnaW46IDVweCAxMnB4IDEwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBzcGFuLmRhc2hpY29ucyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogMnB4O1xyXG5cdG1hcmdpbi1yaWdodDogM3B4O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5Nb2RhbCB3aXRoaW4gTW9kYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLm1hZ25pZmljLWJ1aWxkZXIgI3Bvc3RzdHVmZiAud2hpdGUtcG9wdXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6IDEwMDAwODtcclxuICBvcGFjaXR5OiAxO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoODgsIDg4LCA4OCwgMC44KTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgLmlubmVyLW1vZGFsLXdyYXAge1xyXG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcblx0LmlubmVyLW1vZGFsLWNvbnRhaW5lciB7XHJcblx0ICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cdCAgbWF4LWhlaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5pbm5lci1tb2RhbCB7XHJcblx0ICBtYXgtd2lkdGg6IDYwMHB4O1xyXG5cdCAgbWFyZ2luOiAzMHB4IGF1dG87XHJcblx0ICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cdCAgcGFkZGluZzogMjBweDtcclxuXHQgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcclxuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblxyXG4gIH1cclxuXHJcbiAgLnNhdmUtbWFya2VyLWljb24ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4ucGFjLWNvbnRhaW5lciB7XHJcbiAgei1pbmRleDogMTAwMDIwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmJ1dHRvbi5nbWItbW9kYWwtY2xvc2Uge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogIzMzMztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcbn1cclxuXHJcbi5tYXAtbW9kYWwtdXBzZWxsIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vL1Vwc2VsbFxyXG4ubWZwLWNvbnRhaW5lciAubWFwLW1vZGFsLXVwc2VsbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMzVweDtcclxuICByaWdodDogLTI2MXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgcCB7XHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRtYXJnaW46IDAgMCAycHg7XHJcblx0Y29sb3I6ICNBQUE7XHJcbiAgfVxyXG5cclxuICBhLnVwc2VsbC1idXR0b24ge1xyXG5cdHdpZHRoOiA3MHB4O1xyXG4gIH1cclxuXHJcbn1cclxuIiwiKiB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIsIC5jb250YWluZXI6YmVmb3JlLCAuY29udGFpbmVyOmFmdGVyLCAuY29udGFpbmVyLWZsdWlkOmJlZm9yZSwgLmNvbnRhaW5lci1mbHVpZDphZnRlciwgLnJvdzpiZWZvcmUsIC5yb3c6YWZ0ZXIsIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YmVmb3JlLCAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLCAuYnRuLXRvb2xiYXI6YmVmb3JlLCAuYnRuLXRvb2xiYXI6YWZ0ZXIsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmJlZm9yZSwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6YWZ0ZXIsIC5uYXY6YmVmb3JlLCAubmF2OmFmdGVyLCAubmF2YmFyOmJlZm9yZSwgLm5hdmJhcjphZnRlciwgLm5hdmJhci1oZWFkZXI6YmVmb3JlLCAubmF2YmFyLWhlYWRlcjphZnRlciwgLm5hdmJhci1jb2xsYXBzZTpiZWZvcmUsIC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsIC5wYWdlcjpiZWZvcmUsIC5wYWdlcjphZnRlciwgLnBhbmVsLWJvZHk6YmVmb3JlLCAucGFuZWwtYm9keTphZnRlciwgLm1vZGFsLWZvb3RlcjpiZWZvcmUsIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0cGFkZGluZy1yaWdodDogMTVweDtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHR3aWR0aDogNzUwcHg7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdHdpZHRoOiA5NzBweDtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuXHQuY29udGFpbmVyIHtcclxuXHRcdHdpZHRoOiAxMTcwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGFpbmVyLWZsdWlkIHtcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbn1cclxuXHJcbi5yb3cge1xyXG5cdG1hcmdpbi1sZWZ0OiAtMTVweDtcclxuXHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xyXG59XHJcblxyXG4uY29sLXhzLTEsIC5jb2wtc20tMSwgLmNvbC1tZC0xLCAuY29sLWxnLTEsIC5jb2wteHMtMiwgLmNvbC1zbS0yLCAuY29sLW1kLTIsIC5jb2wtbGctMiwgLmNvbC14cy0zLCAuY29sLXNtLTMsIC5jb2wtbWQtMywgLmNvbC1sZy0zLCAuY29sLXhzLTQsIC5jb2wtc20tNCwgLmNvbC1tZC00LCAuY29sLWxnLTQsIC5jb2wteHMtNSwgLmNvbC1zbS01LCAuY29sLW1kLTUsIC5jb2wtbGctNSwgLmNvbC14cy02LCAuY29sLXNtLTYsIC5jb2wtbWQtNiwgLmNvbC1sZy02LCAuY29sLXhzLTcsIC5jb2wtc20tNywgLmNvbC1tZC03LCAuY29sLWxnLTcsIC5jb2wteHMtOCwgLmNvbC1zbS04LCAuY29sLW1kLTgsIC5jb2wtbGctOCwgLmNvbC14cy05LCAuY29sLXNtLTksIC5jb2wtbWQtOSwgLmNvbC1sZy05LCAuY29sLXhzLTEwLCAuY29sLXNtLTEwLCAuY29sLW1kLTEwLCAuY29sLWxnLTEwLCAuY29sLXhzLTExLCAuY29sLXNtLTExLCAuY29sLW1kLTExLCAuY29sLWxnLTExLCAuY29sLXhzLTEyLCAuY29sLXNtLTEyLCAuY29sLW1kLTEyLCAuY29sLWxnLTEyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWluLWhlaWdodDogMXB4O1xyXG5cdHBhZGRpbmctbGVmdDogMTVweDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4uY29sLXhzLTEsIC5jb2wteHMtMiwgLmNvbC14cy0zLCAuY29sLXhzLTQsIC5jb2wteHMtNSwgLmNvbC14cy02LCAuY29sLXhzLTcsIC5jb2wteHMtOCwgLmNvbC14cy05LCAuY29sLXhzLTEwLCAuY29sLXhzLTExLCAuY29sLXhzLTEyIHtcclxuXHRmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmNvbC14cy0xMiB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb2wteHMtMTEge1xyXG5cdHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtMTAge1xyXG5cdHdpZHRoOiA4My4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtOSB7XHJcblx0d2lkdGg6IDc1JTtcclxufVxyXG5cclxuLmNvbC14cy04IHtcclxuXHR3aWR0aDogNjYuNjY2NjY2NjclO1xyXG59XHJcblxyXG4uY29sLXhzLTcge1xyXG5cdHdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtNiB7XHJcblx0d2lkdGg6IDUwJTtcclxufVxyXG5cclxuLmNvbC14cy01IHtcclxuXHR3aWR0aDogNDEuNjY2NjY2NjclO1xyXG59XHJcblxyXG4uY29sLXhzLTQge1xyXG5cdHdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtMyB7XHJcblx0d2lkdGg6IDI1JTtcclxufVxyXG5cclxuLmNvbC14cy0yIHtcclxuXHR3aWR0aDogMTYuNjY2NjY2NjclO1xyXG59XHJcblxyXG4uY29sLXhzLTEge1xyXG5cdHdpZHRoOiA4LjMzMzMzMzMzJTtcclxufVxyXG5cclxuLmNvbC14cy1wdWxsLTEyIHtcclxuXHRyaWdodDogMTAwJTtcclxufVxyXG5cclxuLmNvbC14cy1wdWxsLTExIHtcclxuXHRyaWdodDogOTEuNjY2NjY2NjclO1xyXG59XHJcblxyXG4uY29sLXhzLXB1bGwtMTAge1xyXG5cdHJpZ2h0OiA4My4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVsbC05IHtcclxuXHRyaWdodDogNzUlO1xyXG59XHJcblxyXG4uY29sLXhzLXB1bGwtOCB7XHJcblx0cmlnaHQ6IDY2LjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1wdWxsLTcge1xyXG5cdHJpZ2h0OiA1OC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVsbC02IHtcclxuXHRyaWdodDogNTAlO1xyXG59XHJcblxyXG4uY29sLXhzLXB1bGwtNSB7XHJcblx0cmlnaHQ6IDQxLjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1wdWxsLTQge1xyXG5cdHJpZ2h0OiAzMy4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVsbC0zIHtcclxuXHRyaWdodDogMjUlO1xyXG59XHJcblxyXG4uY29sLXhzLXB1bGwtMiB7XHJcblx0cmlnaHQ6IDE2LjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1wdWxsLTEge1xyXG5cdHJpZ2h0OiA4LjMzMzMzMzMzJTtcclxufVxyXG5cclxuLmNvbC14cy1wdWxsLTAge1xyXG5cdHJpZ2h0OiAwJTtcclxufVxyXG5cclxuLmNvbC14cy1wdXNoLTEyIHtcclxuXHRsZWZ0OiAxMDAlO1xyXG59XHJcblxyXG4uY29sLXhzLXB1c2gtMTEge1xyXG5cdGxlZnQ6IDkxLjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1wdXNoLTEwIHtcclxuXHRsZWZ0OiA4My4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC05IHtcclxuXHRsZWZ0OiA3NSU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC04IHtcclxuXHRsZWZ0OiA2Ni42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC03IHtcclxuXHRsZWZ0OiA1OC4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC02IHtcclxuXHRsZWZ0OiA1MCU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC01IHtcclxuXHRsZWZ0OiA0MS42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC00IHtcclxuXHRsZWZ0OiAzMy4zMzMzMzMzMyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC0zIHtcclxuXHRsZWZ0OiAyNSU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC0yIHtcclxuXHRsZWZ0OiAxNi42NjY2NjY2NyU7XHJcbn1cclxuXHJcbi5jb2wteHMtcHVzaC0xIHtcclxuXHRsZWZ0OiA4LjMzMzMzMzMzJTtcclxufVxyXG5cclxuLmNvbC14cy1wdXNoLTAge1xyXG5cdGxlZnQ6IDAlO1xyXG59XHJcblxyXG4uY29sLXhzLW9mZnNldC0xMiB7XHJcblx0bWFyZ2luLWxlZnQ6IDEwMCU7XHJcbn1cclxuXHJcbi5jb2wteHMtb2Zmc2V0LTExIHtcclxuXHRtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG59XHJcblxyXG4uY29sLXhzLW9mZnNldC0xMCB7XHJcblx0bWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtOSB7XHJcblx0bWFyZ2luLWxlZnQ6IDc1JTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtOCB7XHJcblx0bWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtNyB7XHJcblx0bWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtNiB7XHJcblx0bWFyZ2luLWxlZnQ6IDUwJTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtNSB7XHJcblx0bWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtNCB7XHJcblx0bWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtMyB7XHJcblx0bWFyZ2luLWxlZnQ6IDI1JTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtMiB7XHJcblx0bWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxufVxyXG5cclxuLmNvbC14cy1vZmZzZXQtMSB7XHJcblx0bWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xyXG59XHJcblxyXG4uY29sLXhzLW9mZnNldC0wIHtcclxuXHRtYXJnaW4tbGVmdDogMCU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cdC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLTEyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS0xMSB7XHJcblx0XHR3aWR0aDogOTEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS0xMCB7XHJcblx0XHR3aWR0aDogODMuMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS05IHtcclxuXHRcdHdpZHRoOiA3NSU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLTgge1xyXG5cdFx0d2lkdGg6IDY2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tNyB7XHJcblx0XHR3aWR0aDogNTguMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS02IHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLTUge1xyXG5cdFx0d2lkdGg6IDQxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tNCB7XHJcblx0XHR3aWR0aDogMzMuMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS0zIHtcclxuXHRcdHdpZHRoOiAyNSU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLTIge1xyXG5cdFx0d2lkdGg6IDE2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tMSB7XHJcblx0XHR3aWR0aDogOC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1bGwtMTIge1xyXG5cdFx0cmlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1bGwtMTEge1xyXG5cdFx0cmlnaHQ6IDkxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tcHVsbC0xMCB7XHJcblx0XHRyaWdodDogODMuMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdWxsLTkge1xyXG5cdFx0cmlnaHQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tcHVsbC04IHtcclxuXHRcdHJpZ2h0OiA2Ni42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1bGwtNyB7XHJcblx0XHRyaWdodDogNTguMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdWxsLTYge1xyXG5cdFx0cmlnaHQ6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tcHVsbC01IHtcclxuXHRcdHJpZ2h0OiA0MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1bGwtNCB7XHJcblx0XHRyaWdodDogMzMuMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdWxsLTMge1xyXG5cdFx0cmlnaHQ6IDI1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tcHVsbC0yIHtcclxuXHRcdHJpZ2h0OiAxNi42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1bGwtMSB7XHJcblx0XHRyaWdodDogOC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1bGwtMCB7XHJcblx0XHRyaWdodDogMCU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1c2gtMTIge1xyXG5cdFx0bGVmdDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tcHVzaC0xMSB7XHJcblx0XHRsZWZ0OiA5MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1c2gtMTAge1xyXG5cdFx0bGVmdDogODMuMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTkge1xyXG5cdFx0bGVmdDogNzUlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTgge1xyXG5cdFx0bGVmdDogNjYuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTcge1xyXG5cdFx0bGVmdDogNTguMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTYge1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTUge1xyXG5cdFx0bGVmdDogNDEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTQge1xyXG5cdFx0bGVmdDogMzMuMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTMge1xyXG5cdFx0bGVmdDogMjUlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTIge1xyXG5cdFx0bGVmdDogMTYuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1wdXNoLTEge1xyXG5cdFx0bGVmdDogOC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLXB1c2gtMCB7XHJcblx0XHRsZWZ0OiAwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tb2Zmc2V0LTEyIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1zbS1vZmZzZXQtMTEge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tb2Zmc2V0LTEwIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC05IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC04IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC03IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC02IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA1MCU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC01IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC00IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC0zIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyNSU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC0yIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLXNtLW9mZnNldC0xIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtc20tb2Zmc2V0LTAge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDAlO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcblx0LmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtMTIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLTExIHtcclxuXHRcdHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLTEwIHtcclxuXHRcdHdpZHRoOiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLTkge1xyXG5cdFx0d2lkdGg6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtOCB7XHJcblx0XHR3aWR0aDogNjYuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC03IHtcclxuXHRcdHdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLTYge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtNSB7XHJcblx0XHR3aWR0aDogNDEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC00IHtcclxuXHRcdHdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLTMge1xyXG5cdFx0d2lkdGg6IDI1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtMiB7XHJcblx0XHR3aWR0aDogMTYuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC0xIHtcclxuXHRcdHdpZHRoOiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVsbC0xMiB7XHJcblx0XHRyaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVsbC0xMSB7XHJcblx0XHRyaWdodDogOTEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1wdWxsLTEwIHtcclxuXHRcdHJpZ2h0OiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1bGwtOSB7XHJcblx0XHRyaWdodDogNzUlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1wdWxsLTgge1xyXG5cdFx0cmlnaHQ6IDY2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVsbC03IHtcclxuXHRcdHJpZ2h0OiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1bGwtNiB7XHJcblx0XHRyaWdodDogNTAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1wdWxsLTUge1xyXG5cdFx0cmlnaHQ6IDQxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVsbC00IHtcclxuXHRcdHJpZ2h0OiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1bGwtMyB7XHJcblx0XHRyaWdodDogMjUlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1wdWxsLTIge1xyXG5cdFx0cmlnaHQ6IDE2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVsbC0xIHtcclxuXHRcdHJpZ2h0OiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVsbC0wIHtcclxuXHRcdHJpZ2h0OiAwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVzaC0xMiB7XHJcblx0XHRsZWZ0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1wdXNoLTExIHtcclxuXHRcdGxlZnQ6IDkxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVzaC0xMCB7XHJcblx0XHRsZWZ0OiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtOSB7XHJcblx0XHRsZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtOCB7XHJcblx0XHRsZWZ0OiA2Ni42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtNyB7XHJcblx0XHRsZWZ0OiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtNiB7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtNSB7XHJcblx0XHRsZWZ0OiA0MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtNCB7XHJcblx0XHRsZWZ0OiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtMyB7XHJcblx0XHRsZWZ0OiAyNSU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtMiB7XHJcblx0XHRsZWZ0OiAxNi42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLXB1c2gtMSB7XHJcblx0XHRsZWZ0OiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtcHVzaC0wIHtcclxuXHRcdGxlZnQ6IDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1vZmZzZXQtMTIge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuY29sLW1kLW9mZnNldC0xMSB7XHJcblx0XHRtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1vZmZzZXQtMTAge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTkge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTgge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTcge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTYge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTUge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTQge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTMge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDI1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTIge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbWQtb2Zmc2V0LTEge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1tZC1vZmZzZXQtMCB7XHJcblx0XHRtYXJnaW4tbGVmdDogMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcblx0LmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiB7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctMTIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLTExIHtcclxuXHRcdHdpZHRoOiA5MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLTEwIHtcclxuXHRcdHdpZHRoOiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLTkge1xyXG5cdFx0d2lkdGg6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctOCB7XHJcblx0XHR3aWR0aDogNjYuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy03IHtcclxuXHRcdHdpZHRoOiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLTYge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctNSB7XHJcblx0XHR3aWR0aDogNDEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy00IHtcclxuXHRcdHdpZHRoOiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLTMge1xyXG5cdFx0d2lkdGg6IDI1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctMiB7XHJcblx0XHR3aWR0aDogMTYuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy0xIHtcclxuXHRcdHdpZHRoOiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVsbC0xMiB7XHJcblx0XHRyaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVsbC0xMSB7XHJcblx0XHRyaWdodDogOTEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1wdWxsLTEwIHtcclxuXHRcdHJpZ2h0OiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1bGwtOSB7XHJcblx0XHRyaWdodDogNzUlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1wdWxsLTgge1xyXG5cdFx0cmlnaHQ6IDY2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVsbC03IHtcclxuXHRcdHJpZ2h0OiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1bGwtNiB7XHJcblx0XHRyaWdodDogNTAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1wdWxsLTUge1xyXG5cdFx0cmlnaHQ6IDQxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVsbC00IHtcclxuXHRcdHJpZ2h0OiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1bGwtMyB7XHJcblx0XHRyaWdodDogMjUlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1wdWxsLTIge1xyXG5cdFx0cmlnaHQ6IDE2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVsbC0xIHtcclxuXHRcdHJpZ2h0OiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVsbC0wIHtcclxuXHRcdHJpZ2h0OiAwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVzaC0xMiB7XHJcblx0XHRsZWZ0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1wdXNoLTExIHtcclxuXHRcdGxlZnQ6IDkxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVzaC0xMCB7XHJcblx0XHRsZWZ0OiA4My4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtOSB7XHJcblx0XHRsZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtOCB7XHJcblx0XHRsZWZ0OiA2Ni42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtNyB7XHJcblx0XHRsZWZ0OiA1OC4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtNiB7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtNSB7XHJcblx0XHRsZWZ0OiA0MS42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtNCB7XHJcblx0XHRsZWZ0OiAzMy4zMzMzMzMzMyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtMyB7XHJcblx0XHRsZWZ0OiAyNSU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtMiB7XHJcblx0XHRsZWZ0OiAxNi42NjY2NjY2NyU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLXB1c2gtMSB7XHJcblx0XHRsZWZ0OiA4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctcHVzaC0wIHtcclxuXHRcdGxlZnQ6IDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1vZmZzZXQtMTIge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuY29sLWxnLW9mZnNldC0xMSB7XHJcblx0XHRtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1vZmZzZXQtMTAge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTkge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTgge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTcge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTYge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTUge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTQge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTMge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDI1JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTIge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcclxuXHR9XHJcblxyXG5cdC5jb2wtbGctb2Zmc2V0LTEge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xyXG5cdH1cclxuXHJcblx0LmNvbC1sZy1vZmZzZXQtMCB7XHJcblx0XHRtYXJnaW4tbGVmdDogMCU7XHJcblx0fVxyXG59XHJcbiIsIi8qIE1peGluICovXHJcbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gZWFzaW5nLXRyYW5zaXRpb24ge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBhbGwgbGluZWFyO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogMC4ycyBhbGwgbGluZWFyO1xyXG4gIC1vLXRyYW5zaXRpb246IDAuMnMgYWxsIGxpbmVhcjtcclxuICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBsaW5lYXI7XHJcbn1cclxuXHJcbkBtaXhpbiBtb2RhbC1sYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1hcmdpbjogMCAwIDhweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuQG1peGluIGZpZWxkLWRlc2NyaXB0aW9uIHtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgcGFkZGluZzogNXB4IDAgMDtcclxuICBtYXJnaW46IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGNvbG9yOiAjYWFhYWFhO1xyXG59XHJcblxyXG5AbWl4aW4gb3JhbmdlLWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogI0ZBQTYyNTtcclxuICBib3JkZXItY29sb3I6ICNDRTg2MTc7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYigyNDksIDE5OCwgMTIxKSwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2IoMjQ5LCAxOTgsIDEyMSksIDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYigyNDksIDE5OCwgMTIxKSwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gIGNvbG9yOiAjRkZGO1xyXG5cclxuICAmOmhvdmVyLCAmOmRpc2FibGVkIHtcclxuXHRjb2xvcjogI0ZGRjtcclxuXHRiYWNrZ3JvdW5kOiAjZWI5ZTIzO1xyXG5cdGJvcmRlci1jb2xvcjogI2JhNzkxNTtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiKDI0OSwgMTk4LCAxMjEpLCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcblx0LW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYigyNDksIDE5OCwgMTIxKSwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiKDI0OSwgMTk4LCAxMjEpLCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG5cclxuICAmOmFmdGVyIHtcclxuXHRjb250ZW50OiBcIlwiO1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG5cdGNsZWFyOiBib3RoO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiRibHVlOiAjNDJBNEY1O1xyXG4kb3JhbmdlOiAjRkFBNjI3OyIsIiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5NYXJrZXIgSWNvbiBNb2RhbFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jcG9zdHN0dWZmIC5tYXJrZXItZGVzY3JpcHRpb24td3JhcCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICBoMyB7XHJcblx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwIDAgMTVweDtcclxuICB9XHJcbiAgcCB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRjb2xvcjogI2FhYTtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1hcmtlciBUeXBlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jcG9zdHN0dWZmIC5tYXJrZXItcm93LCAjcG9zdHN0dWZmIC5tYXJrZXItaWNvbi1yb3csIC5tYXJrZXItaWNvbi1yb3cgaDMge1xyXG4gIGgzIHtcclxuXHRtYXJnaW46IDAgMCAyMHB4O1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxuXHRwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1hcmtlciBJY29uIFJvd3NcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLm1hcmtlci1pY29uLXJvdyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm1hcmtlci1pY29uLXJvdywgLnNhdmUtbWFya2VyLWljb24ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5tYXJrZXItaWNvbi1yb3cgLmljb24sIC5tYXJrZXItcm93IC5tYXJrZXItaXRlbSB7XHJcbiAgd2lkdGg6IDMxJTtcclxuICBmbG9hdDogbGVmdDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG4uaWNvbi1pbm5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLThweDtcclxufVxyXG5cclxuLm1hcmtlci1pY29uLXJvdyAuaWNvbiBzcGFuIHtcclxuICBmb250LXNpemU6IDMycHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogOHB4O1xyXG59XHJcblxyXG4ubWFya2VyLWljb24tcm93IC5pY29uLCAubWFya2VyLXJvdyAubWFya2VyLWl0ZW0sIC5tYXBzLWljb24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xyXG4gICY6aG92ZXIge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNmNGVmZDg7XHJcblx0YmFja2dyb3VuZDogI0ZGRkFFMjtcclxuICB9XHJcbn1cclxuXHJcbi5tYXJrZXItaWNvbi1yb3cgLm1hcmtlci1pdGVtLXNlbGVjdGVkLCAubWFya2VyLWl0ZW0ubWFya2VyLWl0ZW0tc2VsZWN0ZWQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNmNGVmZDg7XHJcbiAgYmFja2dyb3VuZDogI0ZGRkFFMjtcclxufVxyXG5cclxuLm1hcmtlci1sYWJlbCB7XHJcbiAgei1pbmRleDogOTk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi10b3A6IC01MHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcclxuICB3aWR0aDogNTBweDtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQ29sb3JzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5tYXJrZXItcm93IHtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ubWFya2VyLWljb24tbW9kYWwge1xyXG4gIC5jb2xvci1kZXNjIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRjbGVhcjogYm90aDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG4gIH1cclxuICAubWFya2VyLWNvbG9yLXBpY2tlci13cmFwIHtcclxuXHRmbG9hdDogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5NYXJrZXIgU2VsZWN0aW9uc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ubWFya2VyLXJvdyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgLm1hcmtlci1pdGVtIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHR3aWR0aDogMzElO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGhlaWdodDogMTAwcHg7XHJcblx0bWFyZ2luOiAwIDElIDElIDA7XHJcblx0Lm1hcmtlci1zdmcge1xyXG5cdCAgbWFyZ2luLXRvcDogM3B4O1xyXG5cdCAgJi5kZWZhdWx0LW1hcmtlciB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xyXG5cdCAgfVxyXG5cdH1cclxuICB9XHJcbn1cclxuXHJcbi5tYXJrZXItZGVzY3JpcHRpb24td3JhcCBoMywgLm1hcmtlci1pY29uLXJvdyBoMyB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1hcCBJY29uc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ubWFwLWljb25zLWxpc3Qge1xyXG4gIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgbGkge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0YSB7XHJcblx0ICBwYWRkaW5nOiA0cHg7XHJcblx0ICBkaXNwbGF5OiBibG9jaztcclxuXHQgIGJveC1zaGFkb3c6IG5vbmU7XHJcblx0fVxyXG4gIH1cclxufVxyXG5cclxuLyogU2F2ZSBidXR0b24gKi9cclxuXHJcbi5zYXZlLW1hcmtlci1pY29uIHtcclxuICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI0RGREZERjtcclxuICAuc2F2ZS10ZXh0IHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0bWFyZ2luOiA2cHggMCAwIDEwcHg7XHJcbiAgfVxyXG4gIC5idXR0b24ge1xyXG5cdGZsb2F0OiByaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi5yYWRpdXMtbGFiZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDM1cHg7XHJcbiAgY29sb3I6ICM3ZGJlZTg7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5Nb2RhbDogQ3JlYXRlIGEgTWFya2VyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5jbWIyLWlkLWdtYi1nZW9jb2Rlci53aGl0ZS1wb3B1cCB7XHJcblxyXG4gIHAuYXV0b2NvbXBsZXRlLWRlc2NyaXB0aW9uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgbGFiZWx7XHJcblx0bWFyZ2luOjA7XHJcblx0cGFkZGluZzowO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcgJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDEwNXB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWcvcG93ZXJlZC1ieS1nb29nbGUtb24td2hpdGUucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcclxuXHRcdHdpZHRoOiAxMDRweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHQgIH1cclxuICB9XHJcblxyXG4gIC5jbWItdGQge1xyXG5cdHBhZGRpbmc6IDA7XHJcblxyXG5cdGlucHV0IHtcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBDTUIyIEN1c3RvbWl6ZWQgU0NTU1xyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gSGVyZSB3ZSBjdXN0b21pemUgdGhlIGxvb2stYW5kLWZlZWwgb2YgQ01CMiB0byBzdWl0IEdNQlxyXG4gKiBAcGFja2FnZSAgICAgR2l2ZVxyXG4gKiBAc3VicGFja2FnZSAgU0NTUy9BZG1pblxyXG4gKiBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDE1LCBXb3JkSW1wcmVzc1xyXG4gKiBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC0yLjAucGhwIEdOVSBQdWJsaWMgTGljZW5zZVxyXG4qL1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIENNQjIgSW50ZXJmYWNlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmNtYjItaWQtZ21iLXBsYWNlcy1zZWFyY2gtbXVsdGljaGVja2JveCB7XHJcbiAgdWwge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIGxpIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHR3aWR0aDogMzMlO1xyXG4gIH1cclxuICAuY21iMi1tZXRhYm94LWRlc2NyaXB0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdG1hcmdpbi1yaWdodDogMnB4O1xyXG4gIH1cclxufVxyXG5cclxuLy9IaWRlL1Nob3cgc29tZSBib3JkZXJzXHJcbiNjbWIyLW1ldGFib3gtZ29vZ2xlX21hcHNfc2VhcmNoX29wdGlvbnMgLmNtYjItaWQtZ21iLXNob3ctcGxhY2VzIHtcclxuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jcG9zdC1ib2R5LWNvbnRlbnQgI2NtYjItbWV0YWJveC1nb29nbGVfbWFwc19zZWFyY2hfb3B0aW9ucyAuY21iMi1pZC1nbWItc2VhcmNoLXJhZGl1cywgI3Bvc3QtYm9keSAuY21iMi1pZC1nbWItc2VhcmNoLXJhZGl1cyB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWU5ZTk7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5BdXRvY29tcGxldGUgTWV0YWJveFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jY21iMi1tZXRhYm94LWdvb2dsZV9tYXBzX21hcmtlcnMge1xyXG4gIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHtcclxuXHR3aWR0aDogNzglO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9XHJcbiAgLmF1dG9jb21wbGV0ZS13cmFwIHtcclxuXHRwIHtcclxuXHQgIEBpbmNsdWRlIGZpZWxkLWRlc2NyaXB0aW9uO1xyXG5cdH1cclxuICB9XHJcblxyXG4gIGEuZHJvcC1tYXJrZXIge1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHQuZGFzaGljb25zIHtcclxuXHQgIGZvbnQtc2l6ZTogMTRweDtcclxuXHQgIG1hcmdpbjogNHB4IDAgMDtcclxuXHQgIHdpZHRoOiAxNnB4O1xyXG5cdH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5NYXAgTWFya2Vyc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jZ29vZ2xlX21hcHNfbWFya2VycyB7XHJcbiAgLmNtYi1hZGQtcm93IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuI3Bvc3RzdHVmZiAucG9zdGJveC1jb250YWluZXIge1xyXG4gIC5jbWItcmVwZWF0YWJsZS1ncm91cDpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllOWU5O1xyXG5cdHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gIH1cclxuICAuY21iLXJlcGVhdC1ncm91cC13cmFwIC5jbWItcm93Om5vdCg6bGFzdC1vZi10eXBlKSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbiNnbWJfbWFya2Vyc19ncm91cF9yZXBlYXQuY21iLXJlbW92ZS1maWVsZC1yb3cge1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5TaWRlYmFyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiNwb3N0c3R1ZmYgLmlubmVyLXNpZGViYXIsICNwb3N0c3R1ZmYgI3NpZGUtc29ydGFibGVzIHtcclxuXHJcbiAgLmluc2lkZSB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHRwYWRkaW5nLXRvcDogMTJweDtcclxuICB9XHJcblxyXG4gIC5jbWItcm93IHtcclxuXHRtYXJnaW46IDAgMCAxNXB4O1xyXG5cdHBhZGRpbmc6IDA7XHJcblxyXG5cdCY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuXHQgIGJvcmRlci1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHQmOmxhc3QtY2hpbGQsICY6bGFzdC1vZi10eXBlIHtcclxuXHQgIG1hcmdpbi1ib3R0b206IDVweDtcclxuXHR9XHJcbiAgfVxyXG5cclxuICAuY21iLXRoIHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0bGFiZWwge1xyXG5cdCAgYm9yZGVyOiBub25lO1xyXG5cdCAgJjphZnRlciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdCAgfVxyXG5cdH1cclxuXHJcbiAgfVxyXG5cclxuICAuY21iLXRkIHtcclxuXHQvL3JlcGVhdGVyXHJcblx0Ji5jbWItbmVzdGVkIHtcclxuXHQgIHBhZGRpbmctbGVmdDogMTJweDtcclxuXHQgIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcblx0fVxyXG4gIH1cclxuXHJcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgU2lkZWJhciBGaWVsZHNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIHNlbGVjdCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC5sYXQtbG5nLXdyYXAge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG4gIC5sYXQtbG5nLXdyYXAubG5nLXdyYXAge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAuY21iMi1tZXRhYm94LWRlc2NyaXB0aW9uLCBwLmNtYjItbWV0YWJveC1kZXNjcmlwdGlvbiB7XHJcblx0QGluY2x1ZGUgZmllbGQtZGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBTaWRlYmFyIFJlcGVhdGVyIEZpZWxkIEdyb3Vwc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgaDIuY21iLWdyb3VwLW5hbWUge1xyXG5cdEBpbmNsdWRlIG1vZGFsLWxhYmVsO1xyXG4gIH1cclxuXHJcbiAgLmNtYi1yZXBlYXRhYmxlLWdyb3VwIHtcclxuXHJcblx0LmNtYi1yZXBlYXRhYmxlLWdyb3VwaW5nIHtcclxuXHQgIG1hcmdpbjogMCAwIDhweDtcclxuXHQgIGJvcmRlcjogbm9uZTtcclxuXHQgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHQgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdCAgLmNtYi1ncm91cC10aXRsZSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiA4cHggOHB4IDhweCAzMHB4O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0YmFja2dyb3VuZDogJG9yYW5nZTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0ICB9XHJcblx0ICAuY21iaGFuZGxlIHtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdCAgfVxyXG5cdCAgLmNtYmhhbmRsZSB7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHRvcDogMDtcclxuXHQgIH1cclxuXHJcblx0ICA+IC5jbWItcmVtb3ZlLWdyb3VwLXJvdyB7XHJcblx0XHR0b3A6IDZweDtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdCAgfVxyXG5cclxuXHR9XHJcblxyXG5cdC5jbWItZmllbGQtbGlzdCB7XHJcblx0ICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNFRUU7XHJcblx0ICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRUVFO1xyXG5cdH1cclxuXHJcblx0LmNtYi1yZW1vdmUtcm93IHtcclxuXHQgIG1hcmdpbjogMDtcclxuXHQgIHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHQuY21iLWFkZC1yb3cge1xyXG5cdCAgbWFyZ2luOiAxNXB4IDAgMTBweDtcclxuXHR9XHJcblxyXG4gIH1cclxuXHJcbiAgLmRyb3AtbWFya2VyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vTm9uLW1hZ25pZmljIEJ1aWxkZXIgUmVwZWF0ZXIgc3R5bGVzXHJcbiNwb3N0Ym94LWNvbnRhaW5lci0yICNjbWIyLW1ldGFib3gtZ29vZ2xlX21hcHNfbWFya2VycyB7XHJcblxyXG4gIC50b2dnbGUtcmVwZWF0ZXItZ3JvdXBzIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICAuY21iLXJlcGVhdC1ncm91cC13cmFwIHtcclxuXHRwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNtYi1ncm91cC1kZXNjcmlwdGlvbiAuY21iLXRoIHtcclxuXHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbnAuY21iMi1tZXRhYm94LWRlc2NyaXB0aW9uIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG5hLndwLWNvbG9yLXJlc3VsdCB7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQ01CMiB3aXRoaW4gTWFnbmlmaWNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmRpdi53aGl0ZS1wb3B1cCB7XHJcbiAgLmNtYi10aCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMDtcclxuXHRsYWJlbCB7XHJcblx0ICBAaW5jbHVkZSBtb2RhbC1sYWJlbDtcclxuXHR9XHJcbiAgfVxyXG4gIC5jbWItdGQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDE1cHggMDtcclxuICB9XHJcblxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuVG9vbHRpcHNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmdtYi10b29sdGlwLWZpZWxkIHtcclxuICA+IGRpdi5jbWItdGgge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdGxhYmVsIHtcclxuXHQgIGZsb2F0OiBsZWZ0O1xyXG5cclxuXHR9XHJcblxyXG5cdC5nbWItaGVscC1pY29uIHtcclxuXHQgIGNvbnRlbnQ6ICcgJztcclxuXHQgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2hlbHAucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcclxuXHQgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcclxuXHQgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgIG1hcmdpbjogMCAwIC0ycHggOHB4O1xyXG5cdCAgd2lkdGg6IDE2cHg7XHJcblx0ICBoZWlnaHQ6IDE2cHg7XHJcblx0ICBvcGFjaXR5OiAwLjQ7XHJcblx0ICBjdXJzb3I6IHBvaW50ZXI7XHJcblx0ICBAaW5jbHVkZSBlYXNpbmctdHJhbnNpdGlvbjtcclxuXHR9XHJcblxyXG5cdC5nbWItaGVscC1pY29uOmhvdmVyIHtcclxuXHQgIG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5nbWItdG9vbHRpcC10ZXh0IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59IiwiLyohXHJcbiAqIE1hcHMgQnVpbGRlciBBZG1pbiBTZXR0aW5ncyBQYWdlcyBTQ1NTL0NTU1xyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb246IFRoZSBNYWluIFNDU1MgZmlsZSBmb3IgYWRtaW4gU0VUVElOR1Mgc3R5bGVzIHdoaWNoIGlzIGNvbXBpbGVkIGFuZCBtaW5pZmllZCB2aWEgR3VscCB0YXNrcnVubmVyXHJcbiAqIEBwYWNrYWdlOiAgICAgR01CXHJcbiAqIEBzdWJwYWNrYWdlOiAgU0NTUy9BZG1pblxyXG4gKiBAY29weXJpZ2h0OiAgIENvcHlyaWdodCAoYykgMjAxNSwgV29yZEltcHJlc3NcclxuICogQGxpY2Vuc2U6ICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5waHAgR05VIFB1YmxpYyBMaWNlbnNlXHJcbiovXHJcblxyXG4uY2xlYXI6YmVmb3JlLFxyXG4uY2xlYXI6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG59XHJcblxyXG4uY2xlYXI6YWZ0ZXIge1xyXG4gIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4uZ29vZ2xlX21hcHNfcGFnZV9nbWJfc2V0dGluZ3Mge1xyXG5cclxuICAud3JhcCB7XHJcblx0bWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgfVxyXG5cclxuICB0YWJsZS5mb3JtLXRhYmxlIHtcclxuXHRtYXJnaW46IDAgMCAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmdtYi1zdWJtaXQtd3JhcCB7XHJcblx0Y2xlYXI6IGJvdGg7XHJcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcclxuXHRib3JkZXItY29sb3I6ICNkZmRmZGY7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0bWFyZ2luOiAyMHB4IDAgOHB4O1xyXG5cdHBhZGRpbmc6IDEycHg7XHJcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0bGluZS1oZWlnaHQ6IDIuMWVtO1xyXG4gIH1cclxuXHJcbiAgLmNtYi10aCB7XHJcblx0d2lkdGg6IDIwJTtcclxuICB9XHJcblxyXG4gIC5jbWItdGQge1xyXG5cdHdpZHRoOiA4MCU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuV2VsY29tZSBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ud2VsY29tZS1oZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gIC5tYWluLWhlYWRpbmcge1xyXG5cdGZvbnQtc2l6ZTogMzZweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuXHRtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLm1haW4tc3ViaGVhZGluZyB7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuXHRtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAubG9nby1zdmcge1xyXG5cdG1hcmdpbjogMTVweCAwIDA7XHJcblx0c3ZnIHtcclxuXHQgIGhlaWdodDogMTg1cHg7XHJcblx0fVxyXG4gIH1cclxuXHJcbiAgLmxvZ28tc3ZnLmxvZ28tc3ZnLXNtYWxsIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0bWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLm5ldy13aW5kb3cge1xyXG5cdGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL25ldy13aW5kb3ctaWNvbi5wbmcnKSBuby1yZXBlYXQgcmlnaHQgNXB4IHRyYW5zcGFyZW50O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDEzcHg7XHJcblx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuV2VsY29tZSBDbG9zZWQgaGVhZGluZ1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5nbWItcGx1Z2luLWhlYWRpbmcge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgKyAjTGF5ZXJfMSB7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0aGVpZ2h0OiAzN3B4O1xyXG5cdG1hcmdpbjogMCAxMHB4IDAgNXB4O1xyXG4gIH1cclxufVxyXG5cclxuYS5idXR0b24uZ21iLW9yYW5nZS1idG4sIC5nbWItb3JhbmdlLWJ0biB7XHJcbiAgQGluY2x1ZGUgb3JhbmdlLWJ1dHRvbjtcclxufVxyXG5cclxuI3dwd3JhcCAuZ21iLXNldHRpbmdzLWhlYWRlci1idG4ge1xyXG4gIG1hcmdpbjogNXB4IDAgMDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuU29jaWFsIE1lZGlhXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnNvY2lhbC1pdGVtcy13cmFwIHtcclxuICBmbG9hdDogbGVmdDtcclxuICA+IGRpdiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLmZiLWl0ZW0td3JhcCB7XHJcblx0d2lkdGg6IDEwMHB4O1xyXG4gIH1cclxuICAudHdpdHRlci1pdGVtLXdyYXAge1xyXG5cdHdpZHRoOiAxNDVweDtcclxuICB9XHJcbiAgLmdvb2dsZS1wbHVzIHtcclxuXHRtYXJnaW4tbGVmdDogMjBweDtcclxuXHR3aWR0aDogMjAwcHg7XHJcbiAgfVxyXG5cclxuICAud29yZGltcHJlc3MtbG9nbyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogMTBweDtcclxuXHRsZWZ0OiAtMTdweDtcclxuXHRhIHtcclxuXHQgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHQubG9nby1saW5rIHtcclxuXHQgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3dvcmRpbXByZXNzLWxvZ28tc21hbGwucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcclxuXHQgIHdpZHRoOiAxMDBweDtcclxuXHQgIGhlaWdodDogNDBweDtcclxuXHR9XHJcbiAgfVxyXG5cclxuICAuZ21iLXNldHRpbmdzLWhlYWRlci1idG4ge1xyXG5cdG1hcmdpbi10b3A6IC02cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59XHJcblxyXG4uaGlkZS13ZWxjb21lIHtcclxuICBtYXJnaW46IDIxcHggMCAwIDMwcHg7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICBzcGFuIHtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9hcnJvd3MucG5nJykgbm8tcmVwZWF0IDAgLTMzcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuXHR3aWR0aDogMTVweDtcclxuXHRoZWlnaHQ6IDE0cHg7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucHVsbC1sZWZ0IHtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLnB1bGwtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnNtYWxsLWRlc2Mge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgY29sb3I6ICNCM0IzQjM7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1hcCBPcHRpb25zIFRhYlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uc2l6ZS1sYWJlbCB7XHJcbiAgbWFyZ2luOiA4cHggMTBweCAwIDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIHdpZHRoOiA1MHB4O1xyXG59XHJcblxyXG4ud2lkdGhfdW5pdF9sYWJlbCwgLndpZHRoX3JhZGlvLCAubWFwLXdpZHRoLCAubWFwLWhlaWdodCwgLnNpemUtbGFiZWwsIC5yYWRpby1sZWZ0LCAubGFiZWwtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIE1hcCBTaXplXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnNpemUtbGFiZWxzLXdyYXAge1xyXG4gIG1hcmdpbjogOHB4IDAgMCAxMHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuICBsYWJlbCB7XHJcblx0bWFyZ2luOiAwIDEwcHggMCAwO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tYXAtd2lkdGgsIC5tYXAtaGVpZ2h0IHtcclxuICB3aWR0aDogNTVweCAhaW1wb3J0YW50XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkxhdC9MbmdcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jZ2VvbG9jYXRlLXdyYXAge1xyXG4gIG1hcmdpbjogMCAwIDVweDtcclxufVxyXG5cclxubGFiZWwuZ2VvY29kZS1sYWJlbCB7XHJcbiAgd2lkdGg6IDEzMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxubGFiZWwueWVzLWxhYmVsIHtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5sYXQtbG5nLXdyYXAge1xyXG4gIG1hcmdpbjogMTBweCAyMHB4IDEwcHggMDtcclxuICBjbGVhcjogbm9uZTtcclxuXHJcbiAgPiBzcGFuLCA+IGlucHV0IHtcclxuXHRmbG9hdDogbGVmdDtcclxuICB9XHJcbiAgPiBzcGFuIHtcclxuXHRtYXJnaW46IDhweCA1cHggMCAwO1xyXG5cdHdpZHRoOiA4MHB4O1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXdlaWdodDpib2xkO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT10ZXh0XS5sYXRpdHVkZSwgaW5wdXRbdHlwZT10ZXh0XS5sb25naXR1ZGUge1xyXG5cdHdpZHRoOiAxMjBweDtcclxuXHRmbG9hdDogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkdlbmVyYWwgT3B0aW9ucyBUYWJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jZ21iX21lbnVfcG9zaXRpb24ge1xyXG4gIHdpZHRoOiA0MHB4O1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5TeXN0ZW0gU2V0dGluZ3MgVGFiXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuI3N5c3RlbS1pbmZvLXRleHRhcmVhIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDYwMHB4O1xyXG59IiwiLyohXHJcbiAqIE1hcHMgQnVpbGRlciBXaWRnZXRcclxuICpcclxuICogQGRlc2NyaXB0aW9uOiBBZG1pbiBzdHlsZXMgZm9yIHRoZSB3aWRnZXRcclxuICogQHBhY2thZ2U6ICAgICBHTUJcclxuICogQHN1YnBhY2thZ2U6ICBTQ1NTL0FkbWluXHJcbiAqIEBjb3B5cmlnaHQ6ICAgQ29weXJpZ2h0IChjKSAyMDE1LCBXb3JkSW1wcmVzc1xyXG4gKiBAbGljZW5zZTogICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtMi4wLnBocCBHTlUgUHVibGljIExpY2Vuc2VcclxuKi9cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5Ub2dnbGUgVGlwc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5nbWItdG9vbHRpcC1pY29uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGYyMjNcIjtcclxuICBvcGFjaXR5OiAwLjU7XHJcblxyXG59XHJcblxyXG4uZ21iLXRvb2x0aXAtaWNvbjpob3ZlcjpiZWZvcmUge1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5nbWItd2lkZ2V0LXVwZ3JhZGUge1xyXG4gIC5wb3dlcmVkLWJ5IHtcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvcG93ZXJlZC1ieS1nb29nbGUtb24td2hpdGUucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcclxuXHR3aWR0aDogMTA0cHg7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdG1hcmdpbjogM3B4IDAgMDtcclxuICB9XHJcbiAgLmJ1dHRvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTo4cHg7XHJcbiAgfVxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
assets/css/google-maps-builder.css ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Frontend
3
+ *
4
+ * @package: GMB
5
+ * @subpackage: SCSS/Admin
6
+ * @copyright: Copyright (c) 2015, WordImpress
7
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ */
9
+ /*!
10
+ * Maps Builder Frontend Maps
11
+ *
12
+ * @package: GMB
13
+ * @subpackage: SCSS/Admin
14
+ * @copyright: Copyright (c) 2015, WordImpress
15
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
16
+ */
17
+ .google-maps-builder {
18
+ width: 100%;
19
+ height: 500px;
20
+ min-height: 275px; }
21
+
22
+ div[id^='google-maps-builder'] div#infobubble-content > div {
23
+ white-space: normal; }
24
+ div[id^='google-maps-builder'] .gm-style-iw, div[id^='google-maps-builder'] .gm-style-iw > div, div[id^='google-maps-builder'] .gm-style-iw > div > div {
25
+ overflow: visible !important; }
26
+
27
+ /* This fixes issues some themes have with embedded Google Maps (like Twenty Twelve) */
28
+ div[id^='google-maps-builder'] img {
29
+ max-width: none;
30
+ box-shadow: none;
31
+ -moz-box-shadow: none;
32
+ -webkit-box-shadow: none; }
33
+
34
+ /*!
35
+ * Info Bubble (window)
36
+ *
37
+ * @description:
38
+ * @package: GMB
39
+ * @subpackage: SCSS/Admin
40
+ * @copyright: Copyright (c) 2015, WordImpress
41
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
42
+ */
43
+ /* Loading */
44
+ #infobubble-content.loading {
45
+ background: url('../img/loading-large.gif') no-repeat center center #FFF; }
46
+
47
+ #infobubble-content {
48
+ padding: 0 0 0 0;
49
+ margin: 0 -20px 0 0;
50
+ min-width: 314px;
51
+ min-height: 80px;
52
+ height: 100%;
53
+ overflow: hidden;
54
+ box-sizing: border-box;
55
+ cursor: default; }
56
+ #infobubble-content p {
57
+ font-size: 12px;
58
+ margin: 0 0 7px;
59
+ color: #2C2C2C; }
60
+ #infobubble-content .place-title {
61
+ border: 1px solid #FFF;
62
+ font-family: Roboto, Arial, sans-serif;
63
+ font-size: 16px;
64
+ line-height: 21px;
65
+ font-weight: 700;
66
+ min-height: 21px;
67
+ white-space: normal;
68
+ padding-right: 20px; }
69
+ #infobubble-content .place-description {
70
+ white-space: normal; }
71
+
72
+ /* Place Details */
73
+ #infobubble-content .marker-info-wrapper {
74
+ background-color: #F1F1F1;
75
+ margin: 8px 0 4px;
76
+ padding: 12px 12px 12px 12px;
77
+ font-size: 13px; }
78
+ #infobubble-content .rating-wrap {
79
+ overflow: hidden;
80
+ margin: 4px 0 0; }
81
+ #infobubble-content .numeric-rating {
82
+ font-size: 16px;
83
+ color: #DD4B39;
84
+ font-weight: 400;
85
+ float: left;
86
+ margin: 0 5px 0 0;
87
+ line-height: 1; }
88
+ #infobubble-content .star-rating-wrap {
89
+ background: url('../img/review_stars.png') no-repeat 0 0 transparent;
90
+ height: 13px;
91
+ width: 67px;
92
+ float: left;
93
+ margin: 1px 0 0; }
94
+ #infobubble-content .star-rating-size {
95
+ background: url('../img/review_stars.png') no-repeat 0 -13px transparent;
96
+ height: 13px; }
97
+
98
+ @media screen and (max-width: 440px) {
99
+ #infobubble-content {
100
+ min-width: inherit;
101
+ overflow: visible; } }
102
+
103
+ /* Maps Icons */
104
+ div[id^='google-maps-builder'] .marker-label {
105
+ z-index: 99;
106
+ position: absolute;
107
+ display: block;
108
+ margin-top: -50px;
109
+ margin-left: -25px;
110
+ width: 50px;
111
+ height: 50px;
112
+ font-size: 28px;
113
+ text-align: center;
114
+ color: #FFFFFF;
115
+ white-space: nowrap;
116
+ line-height: 1; }
117
+
118
+
119
+ /*# sourceMappingURL=google-maps-builder.css.map */
assets/css/google-maps-builder.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["infowindow.scss","maps.scss"],"names":[],"mappings":"AAWA,AAAmB,AACjB,AAA0C,AAG5C,AACE,AAAS,AACT,AAAQ,AACR,AAAW,AACX,AAAY,AACZ,AAAQ,AACR,AAAU,AACV,AAAY,AACZ,AAAQ,AAEV,AAAoB,AACnB,AAAW,AACX,AAAQ,AACR,AAAO,AAGR,AAAoB,AACnB,AAAQ,AACR,AAAa,AACb,AAAW,AACX,AAAa,AACb,AAAa,AACb,AAAY,AACZ,AAAa,AACb,AAAe,AAGhB,AAAoB,AACnB,AAAa,AAMd,AAAoB,AACnB,AAAkB,AAClB,AAAQ,AACR,AAAS,AACT,AAAW,AAEZ,AAAoB,AACnB,AAAU,AACV,AAAQ,AAET,AAAoB,AACnB,AAAW,AACX,AAAO,AACP,AAAa,AACb,AAAO,AACP,AAAQ,AACR,AAAa,AAEd,AAAoB,AACnB,AAAyC,AACzC,AAAQ,AACR,AAAO,AACP,AAAO,AACP,AAAQ,AAGT,AAAoB,AACnB,AAAyC,AACzC,AAAQ,AAKT,AACA,AACC,AAAW,AACX,AAAU,AAKX,AAAG,AAA4B,AAC7B,AAAS,AACT,AAAU,AACV,AAAS,AACT,AAAY,AACZ,AAAa,AACb,AAAO,AACP,AAAQ,AACR,AAAW,AACX,AAAY,AACZ,AAAO,AACP,AAAa,AACb,AAAa,AC9Ff,AACE,AAAO,AACP,AAAQ,AACR,AAAY,AAKd,AAAG,AAA4B,AAAG,AAAsB,AACvD,AAAa,AAGd,AAAG,AAA4B,AAAc,AAAG,AAA4B,AAAe,AAAK,AAAG,AAA4B,AAAe,AAAM,AACnJ,AAAU,AAMX,AAAG,AAA4B,AAC7B,AAAW,AACX,AAAY,AACZ,AAAiB,AACjB,AAAoB","file":"google-maps-builder.css","sourcesContent":["/*!\r\n * Info Bubble (window)\r\n *\r\n * @description:\r\n * @package: GMB\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2015, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n\r\n/* Loading */\r\n#infobubble-content.loading {\r\n background: url('../img/loading-large.gif') no-repeat center center #FFF;\r\n}\r\n\r\n#infobubble-content {\r\n padding: 0 0 0 0;\r\n margin: 0 -20px 0 0;\r\n min-width: 314px;\r\n min-height: 80px;\r\n height: 100%;\r\n overflow: hidden;\r\n box-sizing: border-box;\r\n cursor: default;\r\n\r\n p {\r\n\tfont-size: 12px;\r\n\tmargin: 0 0 7px;\r\n\tcolor: #2C2C2C;\r\n }\r\n\r\n .place-title {\r\n\tborder: 1px solid #FFF;\r\n\tfont-family: Roboto, Arial, sans-serif;\r\n\tfont-size: 16px;\r\n\tline-height: 21px;\r\n\tfont-weight: 700;\r\n\tmin-height: 21px;\r\n\twhite-space: normal;\r\n\tpadding-right: 20px;\r\n }\r\n\r\n .place-description {\r\n\twhite-space: normal;\r\n }\r\n}\r\n\r\n/* Place Details */\r\n#infobubble-content {\r\n .marker-info-wrapper {\r\n\tbackground-color: #F1F1F1;\r\n\tmargin: 8px 0 4px;\r\n\tpadding: 12px 12px 12px 12px;\r\n\tfont-size: 13px;\r\n }\r\n .rating-wrap {\r\n\toverflow: hidden;\r\n\tmargin: 4px 0 0;\r\n }\r\n .numeric-rating {\r\n\tfont-size: 16px;\r\n\tcolor: #DD4B39;\r\n\tfont-weight: 400;\r\n\tfloat: left;\r\n\tmargin: 0 5px 0 0;\r\n\tline-height: 1;\r\n }\r\n .star-rating-wrap {\r\n\tbackground: url('../img/review_stars.png') no-repeat 0 0 transparent;\r\n\theight: 13px;\r\n\twidth: 67px;\r\n\tfloat: left;\r\n\tmargin: 1px 0 0;\r\n\r\n }\r\n .star-rating-size {\r\n\tbackground: url('../img/review_stars.png') no-repeat 0 -13px transparent;\r\n\theight: 13px;\r\n }\r\n\r\n}\r\n\r\n@media screen and (max-width: 440px) {\r\n #infobubble-content {\r\n\tmin-width: inherit;\r\n\toverflow: visible\r\n }\r\n}\r\n\r\n/* Maps Icons */\r\ndiv[id^='google-maps-builder'] .marker-label {\r\n z-index: 99;\r\n position: absolute;\r\n display: block;\r\n margin-top: -50px;\r\n margin-left: -25px;\r\n width: 50px;\r\n height: 50px;\r\n font-size: 28px;\r\n text-align: center;\r\n color: #FFFFFF;\r\n white-space: nowrap;\r\n line-height: 1;\r\n}","/*!\r\n * Maps Builder Frontend Maps\r\n *\r\n * @package: GMB\r\n * @subpackage: SCSS/Admin\r\n * @copyright: Copyright (c) 2015, WordImpress\r\n * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License\r\n*/\r\n.google-maps-builder {\r\n width: 100%;\r\n height: 500px;\r\n min-height: 275px;\r\n}\r\n\r\ndiv[id^='google-maps-builder'] {\r\n\r\n div#infobubble-content > div {\r\n\twhite-space: normal;\r\n }\r\n\r\n .gm-style-iw, .gm-style-iw > div, .gm-style-iw > div > div {\r\n\toverflow: visible !important;\r\n }\r\n\r\n}\r\n\r\n/* This fixes issues some themes have with embedded Google Maps (like Twenty Twelve) */\r\ndiv[id^='google-maps-builder'] img {\r\n max-width: none;\r\n box-shadow: none;\r\n -moz-box-shadow: none;\r\n -webkit-box-shadow: none;\r\n}"],"sourceRoot":"/source/"}
assets/css/google-maps-builder.min.css ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Frontend
3
+ *
4
+ * @package: GMB
5
+ * @subpackage: SCSS/Admin
6
+ * @copyright: Copyright (c) 2015, WordImpress
7
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ *//*!
9
+ * Maps Builder Frontend Maps
10
+ *
11
+ * @package: GMB
12
+ * @subpackage: SCSS/Admin
13
+ * @copyright: Copyright (c) 2015, WordImpress
14
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
15
+ */#infobubble-content .place-description,div[id^=google-maps-builder] div#infobubble-content>div{white-space:normal}.google-maps-builder{width:100%;height:500px;min-height:275px}div[id^=google-maps-builder] .gm-style-iw,div[id^=google-maps-builder] .gm-style-iw>div,div[id^=google-maps-builder] .gm-style-iw>div>div{overflow:visible!important}div[id^=google-maps-builder] img{max-width:none;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}/*!
16
+ * Info Bubble (window)
17
+ *
18
+ * @description:
19
+ * @package: GMB
20
+ * @subpackage: SCSS/Admin
21
+ * @copyright: Copyright (c) 2015, WordImpress
22
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
23
+ */#infobubble-content.loading{background:url(../img/loading-large.gif) center center no-repeat #FFF}#infobubble-content{padding:0;margin:0 -20px 0 0;min-width:314px;min-height:80px;height:100%;overflow:hidden;box-sizing:border-box;cursor:default}#infobubble-content p{font-size:12px;margin:0 0 7px;color:#2C2C2C}#infobubble-content .place-title{border:1px solid #FFF;font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:21px;font-weight:700;min-height:21px;white-space:normal;padding-right:20px}#infobubble-content .marker-info-wrapper{background-color:#F1F1F1;margin:8px 0 4px;padding:12px;font-size:13px}#infobubble-content .rating-wrap{overflow:hidden;margin:4px 0 0}#infobubble-content .numeric-rating{font-size:16px;color:#DD4B39;font-weight:400;float:left;margin:0 5px 0 0;line-height:1}#infobubble-content .star-rating-wrap{background:url(../img/review_stars.png) no-repeat;height:13px;width:67px;float:left;margin:1px 0 0}#infobubble-content .star-rating-size{background:url(../img/review_stars.png) 0 -13px no-repeat;height:13px}@media screen and (max-width:440px){#infobubble-content{min-width:inherit;overflow:visible}}div[id^=google-maps-builder] .marker-label{z-index:99;position:absolute;display:block;margin-top:-50px;margin-left:-25px;width:50px;height:50px;font-size:28px;text-align:center;color:#FFF;white-space:nowrap;line-height:1}
24
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdvb2dsZS1tYXBzLWJ1aWxkZXIubWluLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQW9FRSx1Q0EvQ0Ysd0RBZ0RJLFlBQWEsT0FyRGpCLHFCQUNFLE1BQU8sS0FDUCxPQUFRLE1BQ1IsV0FBWSxNQUlkLDBDQUE2Qyw4Q0FBbUQsa0RBQzlGLFNBQVUsa0JBR1osaUNBQ0UsVUFBVyxLQUNYLFdBQVksS0FDWixnQkFBaUIsS0FDakIsbUJBQW9COzs7Ozs7OztBQVl0Qiw0QkFDRSxXQUFZLDhCQUF1QyxPQUFPLE9BQWpCLFVBQXdCLEtBRW5FLG9CQUNFLFFBQVMsRUFDVCxPQUFRLEVBQUUsTUFBTSxFQUFFLEVBQ2xCLFVBQVcsTUFDWCxXQUFZLEtBQ1osT0FBUSxLQUNSLFNBQVUsT0FDVixXQUFZLFdBQ1osT0FBUSxRQUNSLHNCQUNFLFVBQVcsS0FDWCxPQUFRLEVBQUUsRUFBRSxJQUNaLE1BQU8sUUFDVCxpQ0FDRSxPQUFRLElBQUksTUFBTSxLQUNsQixZQUFhLE9BQVEsTUFBTyxXQUM1QixVQUFXLEtBQ1gsWUFBYSxLQUNiLFlBQWEsSUFDYixXQUFZLEtBQ1osWUFBYSxPQUNiLGNBQWUsS0FLbkIseUNBQ0UsaUJBQWtCLFFBQ2xCLE9BQVEsSUFBSSxFQUFFLElBQ2QsUUFBUyxLQUNULFVBQVcsS0FDYixpQ0FDRSxTQUFVLE9BQ1YsT0FBUSxJQUFJLEVBQUUsRUFDaEIsb0NBQ0UsVUFBVyxLQUNYLE1BQU8sUUFDUCxZQUFhLElBQ2IsTUFBTyxLQUNQLE9BQVEsRUFBRSxJQUFJLEVBQUUsRUFDaEIsWUFBYSxFQUNmLHNDQUNFLFdBQVksNkJBQTRCLFVBQ3hDLE9BQVEsS0FDUixNQUFPLEtBQ1AsTUFBTyxLQUNQLE9BQVEsSUFBSSxFQUFFLEVBQ2hCLHNDQUNFLFdBQVksNkJBQXNDLEVBQUUsTUFBWixVQUN4QyxPQUFRLEtBRVYsb0NBQ0Usb0JBQ0UsVUFBVyxRQUNYLFNBQVUsU0FHZCwyQ0FDRSxRQUFTLEdBQ1QsU0FBVSxTQUNWLFFBQVMsTUFDVCxXQUFZLE1BQ1osWUFBYSxNQUNiLE1BQU8sS0FDUCxPQUFRLEtBQ1IsVUFBVyxLQUNYLFdBQVksT0FDWixNQUFPLEtBQ1AsWUFBYSxPQUNiLFlBQWEiLCJmaWxlIjoiZ29vZ2xlLW1hcHMtYnVpbGRlci5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
{admin/assets → assets}/img/arrows.png RENAMED
File without changes
assets/img/default-icon-green-no-dot.png ADDED
Binary file
assets/img/default-icon-green.png ADDED
Binary file
assets/img/default-icons/blue-blank.png ADDED
Binary file
assets/img/default-icons/blue-dot.png ADDED
Binary file
assets/img/default-icons/blue_MarkerA.png ADDED
Binary file
assets/img/default-icons/blue_MarkerB.png ADDED
Binary file
assets/img/default-icons/blue_MarkerC.png ADDED
Binary file
assets/img/default-icons/blue_MarkerD.png ADDED
Binary file
assets/img/default-icons/blue_MarkerE.png ADDED
Binary file
assets/img/default-icons/blue_MarkerF.png ADDED
Binary file
assets/img/default-icons/blue_MarkerG.png ADDED
Binary file
assets/img/default-icons/blue_MarkerH.png ADDED
Binary file
assets/img/default-icons/blue_MarkerI.png ADDED
Binary file
assets/img/default-icons/blue_MarkerJ.png ADDED
Binary file
assets/img/default-icons/blue_MarkerK.png ADDED
Binary file
assets/img/default-icons/blue_MarkerL.png ADDED
Binary file
assets/img/default-icons/blue_MarkerM.png ADDED
Binary file
assets/img/default-icons/blue_MarkerN.png ADDED
Binary file
assets/img/default-icons/blue_MarkerO.png ADDED
Binary file
assets/img/default-icons/blue_MarkerP.png ADDED
Binary file
assets/img/default-icons/blue_MarkerQ.png ADDED
Binary file
assets/img/default-icons/blue_MarkerR.png ADDED
Binary file
assets/img/default-icons/blue_MarkerS.png ADDED
Binary file
assets/img/default-icons/blue_MarkerT.png ADDED
Binary file
assets/img/default-icons/blue_MarkerU.png ADDED
Binary file
assets/img/default-icons/blue_MarkerV.png ADDED
Binary file
assets/img/default-icons/blue_MarkerW.png ADDED
Binary file
assets/img/default-icons/blue_MarkerX.png ADDED
Binary file
assets/img/default-icons/blue_MarkerY.png ADDED
Binary file
assets/img/default-icons/blue_MarkerZ.png ADDED
Binary file
assets/img/default-icons/brown-blank.png ADDED
Binary file
assets/img/default-icons/brown-dot.png ADDED
Binary file
assets/img/default-icons/brown_MarkerA.png ADDED
Binary file
assets/img/default-icons/brown_MarkerB.png ADDED
Binary file
assets/img/default-icons/brown_MarkerC.png ADDED
Binary file
assets/img/default-icons/brown_MarkerD.png ADDED
Binary file
assets/img/default-icons/brown_MarkerE.png ADDED
Binary file
assets/img/default-icons/brown_MarkerF.png ADDED
Binary file
assets/img/default-icons/brown_MarkerG.png ADDED
Binary file
assets/img/default-icons/brown_MarkerH.png ADDED
Binary file
assets/img/default-icons/brown_MarkerI.png ADDED
Binary file
assets/img/default-icons/brown_MarkerJ.png ADDED
Binary file
assets/img/default-icons/brown_MarkerK.png ADDED
Binary file
assets/img/default-icons/brown_MarkerL.png ADDED
Binary file
assets/img/default-icons/brown_MarkerM.png ADDED
Binary file
assets/img/default-icons/brown_MarkerN.png ADDED
Binary file
assets/img/default-icons/brown_MarkerO.png ADDED
Binary file
assets/img/default-icons/brown_MarkerP.png ADDED
Binary file
assets/img/default-icons/brown_MarkerQ.png ADDED
Binary file
assets/img/default-icons/brown_MarkerR.png ADDED
Binary file
assets/img/default-icons/brown_MarkerS.png ADDED
Binary file
assets/img/default-icons/brown_MarkerT.png ADDED
Binary file
assets/img/default-icons/brown_MarkerU.png ADDED
Binary file
assets/img/default-icons/brown_MarkerV.png ADDED
Binary file
assets/img/default-icons/brown_MarkerW.png ADDED
Binary file
assets/img/default-icons/brown_MarkerX.png ADDED
Binary file
assets/img/default-icons/brown_MarkerY.png ADDED
Binary file
assets/img/default-icons/brown_MarkerZ.png ADDED
Binary file
assets/img/default-icons/darkgreen-blank.png ADDED
Binary file
assets/img/default-icons/darkgreen-dot.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerA.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerB.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerC.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerD.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerE.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerF.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerG.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerH.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerI.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerJ.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerK.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerL.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerM.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerN.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerO.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerP.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerQ.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerR.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerS.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerT.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerU.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerV.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerW.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerX.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerY.png ADDED
Binary file
assets/img/default-icons/darkgreen_MarkerZ.png ADDED
Binary file
assets/img/default-icons/green-blank.png ADDED
Binary file
assets/img/default-icons/green-dot.png ADDED
Binary file
assets/img/default-icons/green_MarkerA.png ADDED
Binary file
assets/img/default-icons/green_MarkerB.png ADDED
Binary file
assets/img/default-icons/green_MarkerC.png ADDED
Binary file
assets/img/default-icons/green_MarkerD.png ADDED
Binary file
assets/img/default-icons/green_MarkerE.png ADDED
Binary file
assets/img/default-icons/green_MarkerF.png ADDED
Binary file
assets/img/default-icons/green_MarkerG.png ADDED
Binary file
assets/img/default-icons/green_MarkerH.png ADDED
Binary file
assets/img/default-icons/green_MarkerI.png ADDED
Binary file
assets/img/default-icons/green_MarkerJ.png ADDED
Binary file
assets/img/default-icons/green_MarkerK.png ADDED
Binary file
assets/img/default-icons/green_MarkerL.png ADDED
Binary file
assets/img/default-icons/green_MarkerM.png ADDED
Binary file
assets/img/default-icons/green_MarkerN.png ADDED
Binary file
assets/img/default-icons/green_MarkerO.png ADDED
Binary file
assets/img/default-icons/green_MarkerP.png ADDED
Binary file
assets/img/default-icons/green_MarkerQ.png ADDED
Binary file
assets/img/default-icons/green_MarkerR.png ADDED
Binary file
assets/img/default-icons/green_MarkerS.png ADDED
Binary file
assets/img/default-icons/green_MarkerT.png ADDED
Binary file
assets/img/default-icons/green_MarkerU.png ADDED
Binary file
assets/img/default-icons/green_MarkerV.png ADDED
Binary file
assets/img/default-icons/green_MarkerW.png ADDED
Binary file
assets/img/default-icons/green_MarkerX.png ADDED
Binary file
assets/img/default-icons/green_MarkerY.png ADDED
Binary file
assets/img/default-icons/green_MarkerZ.png ADDED
Binary file
assets/img/default-icons/icons.png ADDED
Binary file
assets/img/default-icons/orange-blank.png ADDED
Binary file
assets/img/default-icons/orange-dot.png ADDED
Binary file
assets/img/default-icons/orange_MarkerA.png ADDED
Binary file
assets/img/default-icons/orange_MarkerB.png ADDED
Binary file
assets/img/default-icons/orange_MarkerC.png ADDED
Binary file
assets/img/default-icons/orange_MarkerD.png ADDED
Binary file
assets/img/default-icons/orange_MarkerE.png ADDED
Binary file
assets/img/default-icons/orange_MarkerF.png ADDED
Binary file
assets/img/default-icons/orange_MarkerG.png ADDED
Binary file
assets/img/default-icons/orange_MarkerH.png ADDED
Binary file
assets/img/default-icons/orange_MarkerI.png ADDED
Binary file
assets/img/default-icons/orange_MarkerJ.png ADDED
Binary file
assets/img/default-icons/orange_MarkerK.png ADDED
Binary file
assets/img/default-icons/orange_MarkerL.png ADDED
Binary file
assets/img/default-icons/orange_MarkerM.png ADDED
Binary file
assets/img/default-icons/orange_MarkerN.png ADDED
Binary file
assets/img/default-icons/orange_MarkerO.png ADDED
Binary file
assets/img/default-icons/orange_MarkerP.png ADDED
Binary file
assets/img/default-icons/orange_MarkerQ.png ADDED
Binary file
assets/img/default-icons/orange_MarkerR.png ADDED
Binary file
assets/img/default-icons/orange_MarkerS.png ADDED
Binary file
assets/img/default-icons/orange_MarkerT.png ADDED
Binary file
assets/img/default-icons/orange_MarkerU.png ADDED
Binary file
assets/img/default-icons/orange_MarkerV.png ADDED
Binary file
assets/img/default-icons/orange_MarkerW.png ADDED
Binary file
assets/img/default-icons/orange_MarkerX.png ADDED
Binary file
assets/img/default-icons/orange_MarkerY.png ADDED
Binary file
assets/img/default-icons/orange_MarkerZ.png ADDED
Binary file
assets/img/default-icons/pageblue-blank.png ADDED
Binary file
assets/img/default-icons/pageblue-dot.png ADDED
Binary file
assets/img/default-icons/paleblue-blank.png ADDED
Binary file
assets/img/default-icons/paleblue-dot.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerA.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerB.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerC.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerD.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerE.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerF.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerG.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerH.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerI.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerJ.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerK.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerL.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerM.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerN.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerO.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerP.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerQ.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerR.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerS.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerT.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerU.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerV.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerW.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerX.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerY.png ADDED
Binary file
assets/img/default-icons/paleblue_MarkerZ.png ADDED
Binary file
assets/img/default-marker.png ADDED
Binary file
assets/img/help.png ADDED
Binary file
{admin/assets → assets}/img/icons-app-000.svg RENAMED
File without changes
{admin/assets → assets}/img/icons-infowindow-002.svg RENAMED
File without changes
includes/assets/img/loading.GIF → assets/img/loading-large.GIF RENAMED
File without changes
assets/img/loading.gif ADDED
Binary file
assets/img/map-mascot.svg ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ viewBox="0 0 144.9 161.6" enable-background="new 0 0 144.9 161.6" xml:space="preserve">
6
+ <g>
7
+ <polyline fill="#BDBDBD" points="144.9,161.6 0,161.6 28.3,99 116.6,99 144.9,161.6 "/>
8
+ <path fill="#FFFFFF" d="M141.8,159.6H3.1l26.5-59h85.7L141.8,159.6 M17.6,150.2h109.6l-18-40.2H35.7L17.6,150.2"/>
9
+ <polyline fill="#BDBDBD" points="133.2,154.2 11.7,154.2 32.6,103.3 112.2,103.3 133.2,154.2 "/>
10
+ <polyline fill="#9CCC65" points="133.2,154.2 120,122 90.8,122 85.5,136.6 46.5,154.2 133.2,154.2 "/>
11
+ <polygon fill="#57A0D7" points="112.2,103.3 96,103.3 90.8,122 119.7,121.4 "/>
12
+ <polyline fill="#9CCC65" points="11.7,154.2 48.1,154.2 75.1,140.5 24.9,122 11.7,154.2 "/>
13
+ <path fill="#EF4137" d="M114.8,50c0-23.4-19-42.3-42.3-42.3c-23.4,0-42.3,19-42.3,42.3c0,8.2,2.3,15.8,6.3,22.3h-0.1l36.1,54.5
14
+ l36.1-54.5h-0.1C112.4,65.8,114.8,58.2,114.8,50"/>
15
+ <path fill="#B72327" d="M72.4,7.7c-23.4,0-42.3,19-42.3,42.3c0,1.9,0.1,3.8,0.4,5.7l39.1,7.9l2.8-1.5l0,2l36.4,7.4
16
+ c3.7-6.3,5.9-13.7,5.9-21.5C114.8,26.6,95.8,7.7,72.4,7.7z"/>
17
+ <polygon fill="#B72327" points="66.4,75.2 72.4,71.5 72.4,56.3 78.4,75.2 72.4,75.2 "/>
18
+ <path fill="#FAA726" d="M118.2,41.9C114.3,20.2,95.3,3.7,72.4,3.7c-22.9,0-41.9,16.5-45.8,38.3L21,48.8c0,0,17.1,4.6,51.4,4.6
19
+ c34.3,0,51.4-4.6,51.4-4.6L118.2,41.9z"/>
20
+ <path fill="#F78C20" d="M90.8,7.4C85.1,5,79,3.7,72.4,3.7c-1.6,0-3.2,0.1-4.8,0.2l-3.4,20.2l17.1,5.1L90.8,7.4z"/>
21
+ <path fill="#FAA726" d="M81.3,29.1l3.4-27.6c-3.9-1-8-1.5-12.3-1.5c-4.2,0-8.3,0.5-12.3,1.5l3.4,27.6"/>
22
+ <path fill="#F78C20" d="M118.2,41.9c-0.5-2.9-1.3-5.8-2.4-8.5c-6.3,4.1-17.2,9.3-27.7,11.5l0,0.1C102.1,44.4,112,43,118.2,41.9
23
+ L118.2,41.9z"/>
24
+ <polyline fill="#FFFFFF" points="87,137.9 88.1,137.3 88.4,136.3 92.2,124.2 123.1,124.2 121.1,119.3 93.7,119.3 99.1,102.1
25
+ 94.5,102.1 83.5,133.3 74.8,137.2 23.6,119.6 21.5,124.8 67.3,140.6 35.6,154.8 35.9,155.4 52.8,155.4 87,137.9 "/>
26
+ <polyline fill="#D1D2D3" points="134.9,139.6 144.9,161.6 135,139.6 134.9,139.6 "/>
27
+ <polyline fill="#A2A4A4" points="132.6,139.1 141.8,159.6 79,159.6 79.4,161.6 144.9,161.6 134.9,139.6 132.6,139.1 "/>
28
+ <polyline fill="#D1D2D3" points="126.4,137.8 127.2,139.7 133.2,154.2 133.2,154.2 77.9,154.2 79,159.6 141.8,159.6 132.6,139.1
29
+ 126.4,137.8 "/>
30
+ <path fill="#A2A4A4" d="M133.2,154.2H77.9v0L133.2,154.2 M126.4,137.8l0.8,1.9L126.4,137.8 M72.3,126.8l2.1,10.3l0.4,0.1l8.7-3.9
31
+ l1.4-4L72.3,126.8"/>
32
+ <polyline fill="#87B25E" points="90.2,130.4 88.4,136.3 88.1,137.3 87,137.9 75.7,143.7 77.9,154.2 133.2,154.2 127.2,139.7
33
+ 126.4,137.8 90.2,130.4 "/>
34
+ <polyline fill="#D1D2D3" points="84.9,129.4 83.5,133.3 74.8,137.2 74.4,137.1 75.7,143.7 87,137.9 88.1,137.3 88.4,136.3
35
+ 90.2,130.4 84.9,129.4 "/>
36
+ <path fill="#B72327" d="M72.4,90.9c-0.7,0-1.3-0.6-1.3-1.3c0-0.7,0.6-1.3,1.3-1.3c4,0,7.6-2.2,9.5-5.7c0.3-0.6,1.1-0.8,1.7-0.5
37
+ c0.6,0.3,0.8,1.1,0.5,1.7C81.8,88.2,77.3,90.9,72.4,90.9z"/>
38
+ </g>
39
+ </svg>
assets/img/maps-builder-logo-no-pro.svg ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ viewBox="0 0 138.4 51.1" enable-background="new 0 0 138.4 51.1" xml:space="preserve">
6
+ <g>
7
+ <polyline fill="#BDBDBD" points="45.8,51.1 0,51.1 8.9,31.3 36.8,31.3 45.8,51.1 "/>
8
+ <path fill="#FFFFFF" d="M44.8,50.4H1l8.4-18.7h27.1L44.8,50.4 M5.6,47.5h34.6l-5.7-12.7H11.3L5.6,47.5"/>
9
+ <polyline fill="#BDBDBD" points="42.1,48.7 3.7,48.7 10.3,32.6 35.5,32.6 42.1,48.7 "/>
10
+ <polyline fill="#9CCC65" points="42.1,48.7 37.9,38.6 28.7,38.6 27,43.2 14.7,48.7 42.1,48.7 "/>
11
+ <polygon fill="#42A5F5" points="35.5,32.6 30.3,32.6 28.7,38.6 37.8,38.4 "/>
12
+ <polyline fill="#9CCC65" points="3.7,48.7 15.2,48.7 23.7,44.4 7.9,38.6 3.7,48.7 "/>
13
+ <path fill="#EE4036" d="M36.3,15.8c0-7.4-6-13.4-13.4-13.4S9.5,8.4,9.5,15.8c0,2.6,0.7,5,2,7h0l11.4,17.2l11.4-17.2h0
14
+ C35.5,20.8,36.3,18.4,36.3,15.8"/>
15
+ <path fill="#B72126" d="M22.9,2.4c-7.4,0-13.4,6-13.4,13.4c0,0.6,0,1.2,0.1,1.8L22,20.1l0.9-0.5l0,0.6l11.5,2.3
16
+ c1.2-2,1.9-4.3,1.9-6.8C36.3,8.4,30.3,2.4,22.9,2.4z"/>
17
+ <polygon fill="#B72126" points="21,23.8 22.9,22.6 22.9,17.8 24.8,23.8 22.9,23.8 "/>
18
+ <path fill="#FAA727" d="M37.4,13.3C36.1,6.4,30.1,1.2,22.9,1.2c-7.2,0-13.2,5.2-14.5,12.1l-1.8,2.2c0,0,5.4,1.5,16.2,1.5
19
+ c10.8,0,16.2-1.5,16.2-1.5L37.4,13.3z"/>
20
+ <path fill="#F78C1F" d="M28.7,2.3c-1.8-0.8-3.7-1.2-5.8-1.2c-0.5,0-1,0-1.5,0.1l-1.1,6.4l5.4,1.6L28.7,2.3z"/>
21
+ <path fill="#FAA727" d="M25.7,9.2l1.1-8.7C25.5,0.2,24.2,0,22.9,0c-1.3,0-2.6,0.2-3.9,0.5l1.1,8.7"/>
22
+ <path fill="#F78C1F" d="M37.4,13.3c-0.2-0.9-0.4-1.8-0.8-2.7c-2,1.3-5.4,2.9-8.7,3.6l0,0C32.3,14,35.4,13.6,37.4,13.3L37.4,13.3z"
23
+ />
24
+ <polyline fill="#FFFFFF" points="27.5,43.6 27.8,43.4 27.9,43.1 29.1,39.2 38.9,39.2 38.3,37.7 29.6,37.7 31.3,32.3 29.9,32.3
25
+ 26.4,42.1 23.6,43.4 7.5,37.8 6.8,39.4 21.3,44.4 11.2,48.9 11.3,49.1 16.7,49.1 27.5,43.6 "/>
26
+ <polyline fill="#D0D2D3" points="42.6,44.1 45.8,51.1 42.7,44.1 42.6,44.1 "/>
27
+ <polyline fill="#9A9C9C" points="41.9,44 44.8,50.4 25,50.4 25.1,51.1 45.8,51.1 42.6,44.1 41.9,44 "/>
28
+ <polyline fill="#D0D2D3" points="40,43.6 42.1,48.7 42.1,48.7 24.6,48.7 25,50.4 44.8,50.4 41.9,44 40,43.6 "/>
29
+ <polyline fill="#9A9C9C" points="22.8,40.1 23.5,43.3 23.6,43.4 26.4,42.1 26.8,40.9 22.8,40.1 "/>
30
+ <polyline fill="#7FA854" points="28.5,41.2 27.9,43.1 27.8,43.4 27.5,43.6 23.9,45.4 24.6,48.7 42.1,48.7 40,43.6 28.5,41.2 "/>
31
+ <polyline fill="#D0D2D3" points="26.8,40.9 26.4,42.1 23.6,43.4 23.5,43.3 23.9,45.4 27.5,43.6 27.8,43.4 27.9,43.1 28.5,41.2
32
+ 26.8,40.9 "/>
33
+ <path fill="#B72126" d="M22.9,28.7c-0.2,0-0.4-0.2-0.4-0.4c0-0.2,0.2-0.4,0.4-0.4c1.3,0,2.4-0.7,3-1.8c0.1-0.2,0.3-0.3,0.5-0.2
34
+ c0.2,0.1,0.3,0.3,0.2,0.5C25.9,27.9,24.4,28.7,22.9,28.7z"/>
35
+ <path fill="#42A5F5" d="M53.7,35.2c0-1.1,0.8-1.9,1.9-1.9h5.2c2,0,3.6,0.5,4.6,1.5c0.8,0.8,1.2,1.8,1.2,3v0.1c0,2-1,3.1-2.3,3.8
36
+ c2,0.8,3.3,1.9,3.3,4.3V46c0,3.2-2.6,4.8-6.5,4.8h-5.4c-1.1,0-1.9-0.8-1.9-1.9V35.2z M60,40.4c1.7,0,2.8-0.5,2.8-1.8v-0.1
37
+ c0-1.1-0.9-1.8-2.5-1.8h-2.8v3.7H60z M61,47.4c1.7,0,2.7-0.6,2.7-1.9v-0.1c0-1.2-0.9-1.9-2.8-1.9h-3.5v3.8H61z"/>
38
+ <path fill="#42A5F5" d="M81.7,49c0,1-0.8,1.9-1.9,1.9c-1,0-1.9-0.8-1.9-1.9v-0.2C77,50,75.9,51,74,51c-2.9,0-4.5-1.9-4.5-5v-6.9
39
+ c0-1,0.8-1.9,1.9-1.9c1,0,1.9,0.8,1.9,1.9v5.7c0,1.8,0.8,2.7,2.3,2.7s2.4-0.9,2.4-2.7v-5.7c0-1,0.8-1.9,1.9-1.9
40
+ c1,0,1.9,0.8,1.9,1.9V49z"/>
41
+ <path fill="#42A5F5" d="M91.8,34.3c0-1,0.8-1.9,1.9-1.9s1.9,0.8,1.9,1.9V49c0,1-0.8,1.9-1.9,1.9s-1.9-0.8-1.9-1.9V34.3z"/>
42
+ <path fill="#42A5F5" d="M112.5,49c0,1-0.8,1.9-1.9,1.9c-1,0-1.9-0.8-1.9-1.9v-0.2c-0.9,1.2-2.2,2.2-4.2,2.2c-3.1,0-6.1-2.4-6.1-6.9
43
+ v-0.1c0-4.5,2.9-6.9,6.1-6.9c2,0,3.3,0.9,4.2,2v-4.8c0-1,0.8-1.9,1.9-1.9c1,0,1.9,0.8,1.9,1.9V49z M102.2,44.1L102.2,44.1
44
+ c0,2.3,1.5,3.7,3.3,3.7c1.8,0,3.2-1.5,3.2-3.7v-0.1c0-2.2-1.5-3.7-3.2-3.7C103.7,40.4,102.2,41.8,102.2,44.1z"/>
45
+ <path fill="#42A5F5" d="M121.7,51.1c-4,0-7-2.8-7-6.9v-0.1c0-3.8,2.7-7,6.6-7c4.5,0,6.4,3.7,6.4,6.4c0,1.1-0.8,1.8-1.8,1.8h-7.5
46
+ c0.4,1.7,1.6,2.6,3.3,2.6c1,0,1.9-0.3,2.7-0.9c0.3-0.2,0.5-0.3,0.9-0.3c0.8,0,1.5,0.6,1.5,1.5c0,0.5-0.2,0.9-0.5,1.1
47
+ C125.2,50.5,123.6,51.1,121.7,51.1z M124.1,43c-0.2-1.7-1.2-2.8-2.8-2.8c-1.6,0-2.6,1.1-2.9,2.8H124.1z"/>
48
+ <path fill="#42A5F5" d="M130.2,39.1c0-1,0.8-1.9,1.9-1.9c1,0,1.9,0.8,1.9,1.9v0.6c0.5-1.3,1.4-2.5,2.6-2.5c1.2,0,1.8,0.8,1.8,1.8
49
+ c0,1-0.6,1.6-1.4,1.8c-1.9,0.4-3,1.9-3,4.6V49c0,1-0.8,1.9-1.9,1.9c-1,0-1.9-0.8-1.9-1.9V39.1z"/>
50
+ <path fill="#42A5F5" d="M53.7,9.4c0-1.1,0.8-1.9,1.9-1.9H56c0.8,0,1.4,0.4,1.7,1l4.9,7.6l4.9-7.6c0.4-0.6,0.9-1,1.7-1h0.4
51
+ c1.1,0,1.9,0.8,1.9,1.9v13.9c0,1.1-0.8,1.9-1.9,1.9c-1,0-1.9-0.9-1.9-1.9v-8.7l-3.6,5.2c-0.4,0.6-0.9,1-1.6,1c-0.7,0-1.2-0.4-1.6-1
52
+ l-3.6-5.1v8.7c0,1-0.8,1.9-1.9,1.9c-1,0-1.9-0.8-1.9-1.9V9.4z"/>
53
+ <path fill="#42A5F5" d="M84.9,13.4c0-1,0.8-1.9,1.9-1.9c1,0,1.9,0.8,1.9,1.9v9.9c0,1-0.8,1.9-1.9,1.9c-1,0-1.9-0.8-1.9-1.9v-0.2
54
+ c-0.9,1.2-2.2,2.2-4.2,2.2c-3.1,0-6.1-2.4-6.1-6.9v-0.1c0-4.5,2.9-6.9,6.1-6.9C82.7,11.4,84,12.4,84.9,13.4L84.9,13.4z M78.4,18.4
55
+ L78.4,18.4c0,2.3,1.5,3.7,3.3,3.7c1.8,0,3.2-1.5,3.2-3.7v-0.1c0-2.2-1.5-3.7-3.2-3.7C79.9,14.7,78.4,16.1,78.4,18.4z"/>
56
+ <path fill="#42A5F5" d="M91.8,13.4c0-1,0.8-1.9,1.9-1.9c1,0,1.9,0.8,1.9,1.9v0.2c0.9-1.2,2.2-2.2,4.2-2.2c3.1,0,6.1,2.4,6.1,6.9
57
+ v0.1c0,4.5-2.9,6.9-6.1,6.9c-2,0-3.3-0.9-4.2-2v4c0,1-0.8,1.9-1.9,1.9c-1,0-1.9-0.8-1.9-1.9V13.4z M102.1,18.4L102.1,18.4
58
+ c0-2.3-1.5-3.7-3.3-3.7c-1.8,0-3.2,1.5-3.2,3.7v0.1c0,2.2,1.5,3.7,3.2,3.7C100.6,22.1,102.1,20.7,102.1,18.4z"/>
59
+ <path fill="#42A5F5" d="M108.3,23.8c-0.4-0.2-0.7-0.7-0.7-1.3c0-0.8,0.6-1.5,1.5-1.5c0.3,0,0.6,0.1,0.7,0.2
60
+ c1.3,0.8,2.5,1.2,3.6,1.2c1.1,0,1.6-0.4,1.6-1v-0.1c0-0.8-1.3-1.1-2.8-1.5c-1.9-0.5-4-1.4-4-4v-0.1c0-2.7,2.2-4.2,4.9-4.2
61
+ c1.4,0,2.8,0.4,4.1,1c0.5,0.3,0.9,0.8,0.9,1.4c0,0.8-0.7,1.5-1.5,1.5c-0.3,0-0.4,0-0.7-0.2c-1.1-0.5-2.1-0.8-2.9-0.8
62
+ c-0.9,0-1.4,0.4-1.4,0.9v0.1c0,0.7,1.3,1.1,2.7,1.6c1.9,0.6,4,1.5,4,4v0c0,3-2.2,4.3-5.1,4.3C111.7,25.3,109.9,24.8,108.3,23.8z"/>
63
+ <path fill="#42A5F5" d="M86.6,37.2c-1,0-1.9,0.8-1.9,1.9V49c0,1,0.8,1.9,1.9,1.9s1.9-0.8,1.9-1.9v-9.9
64
+ C88.5,38.1,87.7,37.2,86.6,37.2z M86.7,36.4c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2c-1.1,0-2,0.9-2,2C84.7,35.5,85.6,36.4,86.7,36.4z"/>
65
+ </g>
66
+ </svg>
assets/img/maps-builder-logo-small-non-pro.png ADDED
Binary file
assets/img/maps-builder-logo-small.png ADDED
Binary file
assets/img/maps-builder-mascot.png ADDED
Binary file
{admin/assets → assets}/img/marker-btn.png RENAMED
File without changes
{admin/assets → assets}/img/new-window-icon.png RENAMED
File without changes
{admin/assets → assets}/img/powered-by-google-on-white.png RENAMED
File without changes
{includes/assets → assets}/img/review_stars.png RENAMED
File without changes
assets/img/spinner-2x.gif ADDED
Binary file
{admin/assets → assets}/img/spinner.gif RENAMED
File without changes
assets/img/spotlight-poi.png ADDED
Binary file
{public/assets → assets}/img/temp-marker.png RENAMED
File without changes
{admin/assets → assets}/img/wordimpress-logo-small.png RENAMED
File without changes
{admin/assets/js → assets/js/admin}/admin-google-map.js RENAMED
@@ -5,16 +5,19 @@
5
  * https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple
6
  *
7
  */
8
-
9
 
10
  (function ( $ ) {
 
11
  "use strict";
12
 
 
13
  /**
14
  * Window Load functions
15
  */
16
  $( window ).load( function () {
17
 
 
18
  toggle_metabox_fields();
19
 
20
  //tooltips
@@ -36,10 +39,10 @@
36
  $( '.drop-marker' ).on( 'click', function ( e ) {
37
  e.preventDefault();
38
  if ( $( this ).hasClass( 'active' ) ) {
39
- $( this ).text( 'Drop a Marker' ).removeClass( 'active' );
40
  map.setOptions( {draggableCursor: null} ); //reset cursor
41
  } else {
42
- $( this ).text( 'Click on the Map' ).addClass( 'active' );
43
  map.setOptions( {draggableCursor: 'crosshair'} );
44
  var dropped_marker_event = google.maps.event.addListener( map, 'click', function ( event ) {
45
  drop_marker( event.latLng, dropped_marker_event );
@@ -53,6 +56,7 @@
53
 
54
  //Search Radius Circle
55
  $( '#gmb_search_radius' ).on( 'focus', function () {
 
56
  current_radius = $( this ).val();
57
  calc_radius( map, parseInt( $( this ).val() ) );
58
  } ).focusout( function () {
@@ -65,14 +69,22 @@
65
 
66
  //Places Type Field
67
  $( '[name^="gmb_places_search_multicheckbox"]' ).on( 'change', function () {
 
68
  //Show message if not already displayed
69
  if ( $( '.places-change-message' ).length === 0 ) {
70
- $( '.cmb_id_gmb_places_search_multicheckbox ul' ).prepend( '<div class="wpgp-message places-change-message clear"><p>Place selections have changed.</p><a href="#" class="button update-places-map">Update Map</a></div>' );
71
  $( '.places-change-message' ).slideDown();
72
  }
73
 
74
  } );
75
 
 
 
 
 
 
 
 
76
  //Places Update Map Button
77
  $( document ).on( 'click', '.update-places-map', function ( e ) {
78
  e.preventDefault();
@@ -84,8 +96,9 @@
84
  } );
85
 
86
  //Update lat lng message
87
- $( '.lat-lng-update-btn' ).on( 'click', function ( e ) {
88
  e.preventDefault();
 
89
  $( '.lat-lng-change-message' ).slideUp();
90
  $( '#gmb_lat_lng-latitude' ).val( $( this ).attr( 'data-lat' ) );
91
  $( '#gmb_lat_lng-longitude' ).val( $( this ).attr( 'data-lng' ) );
@@ -102,7 +115,7 @@
102
  var location_marker = new google.maps.Marker( {
103
  position : tentative_location_marker.getPosition(),
104
  map : map,
105
- icon : gmb_data.plugin_url + "/public/assets/img/default-marker.png",
106
  zIndex : google.maps.Marker.MAX_ZINDEX + 1,
107
  optimized: false
108
  } );
@@ -113,16 +126,17 @@
113
  //get current number of repeatable rows ie markers
114
  var index = get_marker_index();
115
 
116
- var reference = $( this ).data( 'reference' );
117
 
118
  //add data to fields
119
- $( '#gmb_markers_group_' + index + '_title' ).val( $( this ).data( 'title' ) );
120
- $( '#gmb_markers_group_' + index + '_lat' ).val( $( this ).data( 'lat' ) );
121
- $( '#gmb_markers_group_' + index + '_lng' ).val( $( this ).data( 'lng' ) );
122
- $( '#gmb_markers_group_' + index + '_reference' ).val( reference );
123
-
124
  get_editable_info_window( index, location_marker );
125
 
 
 
 
 
 
 
126
  //location clicked
127
  google.maps.event.addListener( location_marker, 'click', function () {
128
  get_info_window_content( index, location_marker );
@@ -139,7 +153,7 @@
139
  } );
140
  //Map Theme
141
  $( '#gmb_theme' ).change( function () {
142
- set_map_theme( true );
143
  } );
144
  //street view
145
  $( '#gmb_street_view' ).change( function () {
@@ -169,14 +183,21 @@
169
  $( '#gmb_zoom_control' ).change( function () {
170
  set_map_zoom_control();
171
  } );
172
- //Width/Height
173
- $( "#gmb_width_height-width, #gmb_width_height-height" ).keyup( function () {
174
- delay( function () {
175
- set_map_size();
176
- }, 500 );
 
 
 
 
177
  } );
178
- $( 'input[name="gmb_width_height[map_width_unit]"]' ).change( function () {
179
- set_map_size();
 
 
 
180
  } );
181
 
182
  } ); //End Window Load
@@ -232,7 +253,7 @@
232
  var drop_location_marker = new Marker( {
233
  position : lat_lng,
234
  map : map,
235
- icon : gmb_data.plugin_url + "/public/assets/img/default-marker.png",
236
  zIndex : google.maps.Marker.MAX_ZINDEX + 1,
237
  optimized: false
238
  } );
@@ -241,7 +262,7 @@
241
  var index = get_marker_index();
242
 
243
  //add data to fields
244
- $( '#gmb_markers_group_' + index + '_title' ).val( 'Point ' + index );
245
  $( '#gmb_markers_group_' + index + '_lat' ).val( lat );
246
  $( '#gmb_markers_group_' + index + '_lng' ).val( lng );
247
 
@@ -264,8 +285,11 @@
264
 
265
  lat_field = $( '#gmb_lat_lng-latitude' );
266
  lng_field = $( '#gmb_lat_lng-longitude' );
267
- var latitude = ((lat_field.val()) ? lat_field.val() : '');
268
- var longitude = ((lng_field.val()) ? lng_field.val() : '');
 
 
 
269
  zoom = parseInt( $( '#gmb_zoom' ).val() );
270
  lat_lng = new google.maps.LatLng( latitude, longitude );
271
 
@@ -287,9 +311,9 @@
287
  };
288
 
289
  map = new google.maps.Map( map_canvas[0], mapOptions );
 
290
  places_service = new google.maps.places.PlacesService( map );
291
 
292
-
293
  //Handle Map Geolocation
294
  if ( navigator.geolocation && gmb_data.geolocate_setting === 'yes' && longitude == '' && latitude == '' ) {
295
  navigator.geolocation.getCurrentPosition( function ( position ) {
@@ -297,6 +321,9 @@
297
  map.setCenter( initial_location ); //set map with location
298
  lat_field.val( position.coords.latitude ); //set lat field
299
  lng_field.val( position.coords.longitude ); //set lng field
 
 
 
300
  } );
301
  }
302
  // Presaved longitude and latitude is in place
@@ -306,12 +333,12 @@
306
  map.setCenter( new google.maps.LatLng( latitude, longitude ) );
307
 
308
  }
309
- // Browser doesn't support Geolocation
310
  else {
311
- alert( 'Geolocation service failed.' );
312
  initial_location = new google.maps.LatLng( gmb_data.default_lat, gmb_data.default_lng );
313
  lat_field.val( gmb_data.default_lat ); //set lat field
314
  lng_field.val( gmb_data.default_lng ); //set lng field
 
 
315
  map.setCenter( initial_location );
316
  }
317
 
@@ -319,7 +346,7 @@
319
  //Set various map view options
320
  set_map_type( false );
321
  if ( $( '#gmb_theme' ).val() !== 'none' ) {
322
- set_map_theme( false );
323
  }
324
  set_street_view();
325
  set_pan_control();
@@ -333,25 +360,38 @@
333
  //Setup Autocomplete field if undefined
334
  if ( typeof(autocomplete) == 'undefined' ) {
335
 
336
- autocomplete = new google.maps.places.Autocomplete( $( '#gmb_geocoder' )[0] );
 
 
337
  autocomplete.bindTo( 'bounds', map );
338
 
 
 
 
 
 
 
 
339
  //Autocomplete event listener
340
  google.maps.event.addListener( autocomplete, 'place_changed', function () {
341
 
342
  //Clear autocomplete input value
343
- $( '#gmb_geocoder' ).one( 'blur', function () {
344
- $( '#gmb_geocoder' ).val( "" );
345
  } );
346
  setTimeout( function () {
347
- $( '#gmb_geocoder' ).val( "" );
348
  }, 10 );
349
 
350
-
351
  if ( typeof tentative_location_marker !== 'undefined' ) {
352
  tentative_location_marker.setVisible( false );
353
  }
354
 
 
 
 
 
355
  //get place information
356
  place = autocomplete.getPlace();
357
 
@@ -366,7 +406,7 @@
366
  }
367
 
368
  map.setCenter( place.geometry.location );
369
- add_tentative_marker( map, place.reference );
370
 
371
  } );
372
  }
@@ -385,7 +425,7 @@
385
  add_markers( map );
386
 
387
  //toggle places
388
- if ( typeof $( '.cmb_id_gmb_show_places input:radio' ).prop( 'checked' ) !== 'undefined' && $( '.cmb_id_gmb_show_places input:radio:checked' ).val() === 'yes' ) {
389
  perform_places_search();
390
  }
391
 
@@ -396,14 +436,6 @@
396
  handle_map_zoom( map );
397
  } );
398
 
399
- //Update lng and lat on map drag
400
- google.maps.event.addListener( map, 'dragend', function () {
401
- var map_center = map.getCenter();
402
- $( '.lat-lng-change-message' ).slideDown();
403
- $( '.lat-lng-update-btn' ).attr( 'data-lat', map_center.lat() );
404
- $( '.lat-lng-update-btn' ).attr( 'data-lng', map_center.lng() );
405
- } );
406
-
407
 
408
  } //end initialize_map
409
 
@@ -411,9 +443,9 @@
411
  /**
412
  * Shows a Marker when Autocomplete search is used
413
  * @param map
414
- * @param reference
415
  */
416
- function add_tentative_marker( map, reference ) {
417
 
418
  var map_center = map.getCenter();
419
 
@@ -423,14 +455,14 @@
423
  title : 'Map Icons',
424
  animation: google.maps.Animation.DROP,
425
  position : new google.maps.LatLng( map_center.lat(), map_center.lng() ),
426
- icon : new google.maps.MarkerImage( gmb_data.plugin_url + "/public/assets/img/temp-marker.png" ),
427
  zIndex : google.maps.Marker.MAX_ZINDEX + 1,
428
  optimized: false
429
  } );
430
 
431
  //EVENTS
432
  var location_marker_mouseover = google.maps.event.addListener( tentative_location_marker, 'mouseover', function ( event ) {
433
- add_circle( reference );
434
  } );
435
  var location_marker_mouseout = google.maps.event.addListener( tentative_location_marker, 'mouseout', function ( event ) {
436
  hover_circle.setVisible( false );
@@ -444,8 +476,8 @@
444
  //show circle
445
  hover_circle.setVisible( true );
446
  //update marker icons
447
- //Get initial place details from reference
448
- add_tenative_info_window( reference, tentative_location_marker );
449
  } );
450
 
451
 
@@ -460,11 +492,11 @@
460
  /**
461
  * Set the editable marker window content
462
  */
463
- function add_tenative_info_window( reference, marker ) {
464
 
465
  var request = {
466
- key : gmb_data.api_key,
467
- reference: reference
468
  };
469
 
470
  places_service.getDetails( request, function ( place, status ) {
@@ -478,8 +510,7 @@
478
 
479
  info_window_content += add_place_content_to_info_window( place );
480
 
481
-
482
- info_window_content += '<div class="infowindow-toolbar clear"><a href="#" class="add-marker" data-title="' + place.name + '" data-reference="' + place.reference + '" data-lat="' + lat + '" data-lng="' + lng + '">Add to Map</a></div>';
483
 
484
  info_window_content = set_info_window_wrapper( info_window_content ); //wraps the content in div and returns
485
 
@@ -489,7 +520,7 @@
489
 
490
  //close info window button
491
  google.maps.event.addListener( info_bubble, 'closeclick', function () {
492
- //Get initial place details from reference
493
  hover_circle.setVisible( false );
494
 
495
  } );
@@ -528,11 +559,11 @@
528
  //rating
529
  if ( place.rating ) {
530
  info_window_content += '<div class="rating-wrap clear">' +
531
- '<p class="numeric-rating">' + place.rating + '</p>' +
532
- '<div class="star-rating-wrap">' +
533
- '<div class="star-rating-size" style="width:' + (65 * place.rating / 5) + 'px;"></div>' +
534
- '</div>' +
535
- '</div>'
536
  }
537
 
538
 
@@ -568,19 +599,23 @@
568
  }
569
 
570
  //place name
571
- info_window_content = '<input class="edit-place-title" data-field="#gmb_markers_group_' + index + '_title" type="text" value="' + info_window_data.title + '">';
572
-
573
- info_window_content += '<textarea class="edit-place-description" data-field="#gmb_markers_group_' + index + '_description">' + info_window_data.desc + '</textarea>';
574
 
575
- //info_window_content += add_place_content_to_info_window( place );
 
 
 
 
576
 
577
  //toolbar
578
  info_window_content += '<div class="infowindow-toolbar clear"><ul id="save-toolbar">' +
579
- '<li class="info-window-save"><div class="google-btn-blue google-btn google-save-btn" data-tooltip="Save changes" data-index="' + index + '">Save</div></li>' +
580
- '<li class="info-window-cancel"><div class="google-btn-default google-btn google-cancel-btn" data-tooltip="Cancel edit" data-index="' + index + '">Cancel</div></li>' +
581
- '</ul>' +
582
- '<span class="marker-edit-link-wrap" data-index="' + index + '"><a href="#TB_inline?width=600&height=550&inlineId=marker-icon-modal" data-tooltip="Change icon" class="marker-edit-link thickbox"></a></span>' +
583
- '</div>';
584
 
585
  info_window_content = set_info_window_wrapper( info_window_content );
586
  info_bubble.setContent( info_window_content );
@@ -606,6 +641,15 @@
606
 
607
  } );
608
 
 
 
 
 
 
 
 
 
 
609
 
610
  //Close Click
611
  google.maps.event.addDomListener( info_bubble, 'closeclick', function () {
@@ -622,15 +666,14 @@
622
 
623
  } );
624
 
625
- //Infowindow pin icon click to open ThickBox modal
626
  var edit_marker_icon_button_click = google.maps.event.addDomListener( $( '.marker-edit-link-wrap' )[0], 'click', function () {
627
  $( '.save-marker-button' ).attr( 'data-marker-index', $( this ).data( 'index' ) ); //Set the index for this marker
628
  } );
629
 
630
-
631
  //Marker Modal Update Icon
632
- var save_icon_listener = google.maps.event.addDomListener( $( '.save-marker-button' )[0], 'click', function () {
633
-
634
  var marker_position = marker.getPosition();
635
  var marker_icon_data;
636
  var marker_icon = $( this ).data( 'marker' );
@@ -648,17 +691,22 @@
648
  //collect marker data from submit button
649
  var marker_label_data = '<i class="' + $( this ).data( 'label' ) + '" style="' + marker_label_inline_style + '"></i>';
650
 
651
- //Set marker icon data
652
- if ( marker_icon == '' ) {
653
- //default icon
654
- marker_icon_data = gmb_data.plugin_url + '/public/assets/img/default-marker.png';
655
- $( '#gmb_markers_group_' + index + '_marker' ).val( '' );
656
- marker_label_data = '';
657
- } else {
 
 
658
  //maps-icon
659
  marker_icon_data = '{ path : ' + marker_icon + ', fillColor : "' + marker_icon_color + '", fillOpacity : 1, strokeColor : "", strokeWeight: 0, scale : 1 / 3 }';
 
660
  $( '#gmb_markers_group_' + index + '_marker' ).val( marker_icon_data );
661
- marker_icon_data = eval( '(' + marker_icon_data + ')' )
 
 
662
  }
663
 
664
  //remove current marker
@@ -669,11 +717,11 @@
669
 
670
  //Update Icon
671
  marker = new Marker( {
672
- position: marker_position,
673
- map : map,
674
- zIndex : 9,
675
- icon : marker_icon_data,
676
- label : marker_label_data
677
  } );
678
 
679
  //Add event listener to new marker
@@ -683,12 +731,18 @@
683
 
684
  //Clean up modal and close
685
  $( '.icon, .marker-item' ).removeClass( 'marker-item-selected' ); //reset modal
686
- $( '.marker-icon-row, .save-marker-icon, .marker-icon-color-wrap, .marker-label-color-wrap' ).hide(); //reset modal
687
  $( this ).removeData( 'marker' ); //Remove data
688
  $( this ).removeData( 'marker-color' ); //Remove data
689
  $( this ).removeData( 'label' ); //Remove data
690
  $( this ).removeData( 'label-color' ); //Remove data
691
- tb_remove(); //close TB lightbox
 
 
 
 
 
 
692
  google.maps.event.removeListener( save_icon_listener ); //remove this event listener
693
  google.maps.event.removeListener( edit_marker_icon_button_click ); //remove this event listener
694
 
@@ -718,7 +772,7 @@
718
  /**
719
  * Adds a marker circle
720
  */
721
- function add_circle( reference ) {
722
 
723
  hover_circle = new google.maps.Marker( {
724
  position : tentative_location_marker.getPosition(),
@@ -738,11 +792,11 @@
738
 
739
 
740
  google.maps.event.addListener( hover_circle, 'click', function () {
741
- //Get initial place details from reference
742
- add_tenative_info_window( reference, tentative_location_marker );
743
  } );
744
  google.maps.event.addListener( tentative_location_marker, 'click', function () {
745
- //Get initial place details from reference
746
  hover_circle.setVisible( true );
747
  } );
748
 
@@ -761,27 +815,31 @@
761
  clear_main_markers();
762
 
763
  //Loop through repeatable field of markers
764
- $( "#gmb_markers_group_repeat .repeatable-grouping" ).each( function ( index ) {
765
 
766
- var marker_icon = gmb_data.plugin_url + '/public/assets/img/default-marker.png';
767
  var marker_label = '';
768
 
769
  //check for custom marker and label data
770
  var custom_marker_icon = $( '#gmb_markers_group_' + index + '_marker' ).val();
771
- if ( custom_marker_icon.length > 0 ) {
 
 
 
 
 
 
772
  marker_icon = eval( "(" + custom_marker_icon + ")" );
773
- }
774
- var custom_label = $( '#gmb_markers_group_' + index + '_label' ).val();
775
- if ( custom_label.length > 0 ) {
776
  marker_label = custom_label;
777
  }
778
 
 
779
  //Marker for map
780
  var location_marker = new Marker( {
781
- map : map,
782
- zIndex: 9,
783
- icon : marker_icon,
784
- label : marker_label
785
  } );
786
 
787
  var marker_lat = $( '#gmb_markers_group_' + index + '_lat' ).val();
@@ -794,6 +852,16 @@
794
  get_info_window_content( index, location_marker );
795
  } );
796
 
 
 
 
 
 
 
 
 
 
 
797
  } ); //end $.each()
798
 
799
  }
@@ -801,13 +869,15 @@
801
 
802
  function get_info_window_saved_data( index ) {
803
 
804
- var info_window_data = new Object();
805
 
806
  info_window_data.title = $( '#gmb_markers_group_' + index + '_title' ).val();
807
  info_window_data.desc = $( '#gmb_markers_group_' + index + '_description' ).val();
808
  info_window_data.reference = $( '#gmb_markers_group_' + index + '_reference' ).val();
 
809
  info_window_data.lat = $( '#gmb_markers_group_' + index + '_lat' ).val();
810
  info_window_data.lng = $( '#gmb_markers_group_' + index + '_lng' ).val();
 
811
 
812
  return info_window_data;
813
 
@@ -831,30 +901,24 @@
831
 
832
  var info_window_data = get_info_window_saved_data( index );
833
 
834
- var info_window_content;
 
835
 
 
836
 
837
- //Show place information within info bubble
838
- if ( info_window_data.reference ) {
839
 
840
  var request = {
841
- reference: info_window_data.reference
 
842
  };
843
  places_service.getDetails( request, function ( place, status ) {
844
- if ( status == google.maps.places.PlacesServiceStatus.OK ) {
845
- //place name
846
- info_window_content = '<p class="place-title">' + info_window_data.title + '</p>';
847
 
848
- info_window_content += '<div class="place-description">' + info_window_data.desc + '</div>';
849
 
850
  info_window_content += add_place_content_to_info_window( place );
851
- //toolbar
852
- info_window_content += '<div class="infowindow-toolbar"><ul id="edit-toolbar">' +
853
- '<li class="edit-info" data-index="' + index + '" data-tooltip="Edit Marker"></li>' +
854
- '<li class="trash-marker" data-index="' + index + '" data-tooltip="Delete Marker"></li>' +
855
- '</ul>' +
856
- '</div>';
857
-
858
  add_edit_events( info_window_content, marker );
859
 
860
  }
@@ -862,22 +926,8 @@
862
 
863
 
864
  } else {
865
- //Only show saved data (no place lookup)
866
-
867
- //place name
868
- info_window_content = '<p class="place-title">' + info_window_data.title + '</p>';
869
-
870
- info_window_content += '<div class="place-description">' + info_window_data.desc + '</div>';
871
- //toolbar
872
- info_window_content += '<div class="infowindow-toolbar"><ul id="edit-toolbar">' +
873
- '<li class="edit-info" data-index="' + index + '" data-tooltip="Edit Marker"></li>' +
874
- '<li class="trash-marker" data-index="' + index + '" data-tooltip="Delete Marker"></li>' +
875
- '</ul>' +
876
- '</div>';
877
-
878
  add_edit_events( info_window_content, marker );
879
-
880
-
881
  }
882
 
883
 
@@ -906,19 +956,16 @@
906
  //trash button event
907
  google.maps.event.addDomListener( $( '.trash-marker' )[0], 'click', function () {
908
  var index = $( this ).data( 'index' );
909
-
910
  //if first item clear out all input values
911
- if ( index === 0 ) {
912
- $( 'tr[data-iterator="' + index + '"] ' ).find( 'input,textarea' ).val( '' );
913
- }
914
-
915
  //trigger remove row button click for this specific markers row
916
- $( 'tr[data-iterator="' + index + '"] .remove-group-row' ).trigger( 'click' );
917
  //close info window and remove marker
918
  info_bubble.close();
919
  marker.setVisible( false );
920
  } );
921
 
 
922
  }
923
 
924
 
@@ -930,17 +977,17 @@
930
  */
931
  function get_marker_index() {
932
  //Create a new marker repeatable meta group
933
- var index = parseInt( $( '#gmb_markers_group_repeat tr.repeatable-grouping' ).last().attr( 'data-iterator' ) );
934
- var existing_vals = $( 'tr[data-iterator="0"] ' ).find( 'input,textarea' ).val();
935
 
936
  //Ensure appropriate index is used for marker
937
  if ( existing_vals && index === 0 ) {
938
- $( '.add-group-row.button' ).trigger( 'click' );
939
  index = 1;
940
  } else if ( index !== 0 ) {
941
- $( '.add-group-row.button' ).trigger( 'click' );
942
  //recount rows
943
- index = parseInt( $( '#gmb_markers_group_repeat tr.repeatable-grouping' ).last().attr( 'data-iterator' ) );
944
  }
945
  return index;
946
  }
@@ -958,9 +1005,12 @@
958
  info_bubble.open( map, marker );
959
 
960
  var request = {
961
- reference: place.reference
 
962
  };
 
963
  places_service.getDetails( request, function ( place, status ) {
 
964
  if ( status == google.maps.places.PlacesServiceStatus.OK ) {
965
 
966
  var info_window_content;
@@ -976,6 +1026,10 @@
976
 
977
  initialize_tooltips(); //refresh tooltips
978
 
 
 
 
 
979
  }
980
  } );
981
  }
@@ -992,7 +1046,7 @@
992
 
993
  var types_array = [];
994
 
995
- $( '.cmb_id_gmb_places_search_multicheckbox input[type="checkbox"]' ).each( function () {
996
  if ( $( this ).is( ':checked' ) ) {
997
  types_array.push( $( this ).val() );
998
  }
@@ -1006,7 +1060,6 @@
1006
 
1007
  /**
1008
  * Google Places Nearby Search
1009
- *
1010
  */
1011
  function perform_places_search() {
1012
 
@@ -1022,6 +1075,7 @@
1022
 
1023
  //perform search request
1024
  var request = {
 
1025
  location: return_lat_lng(),
1026
  types : types_array,
1027
  radius : parseInt( $( '#gmb_search_radius' ).val() )
@@ -1166,7 +1220,6 @@
1166
  * Clears Main Markers
1167
  *
1168
  * Used to clear out main location marker to prevent from displaying multiple
1169
- *
1170
  */
1171
  function clear_main_markers() {
1172
 
@@ -1188,7 +1241,6 @@
1188
  * Clears Search Markers
1189
  *
1190
  * Used to clear out main search markers
1191
- *
1192
  */
1193
  function clear_search_markers() {
1194
 
@@ -1200,66 +1252,6 @@
1200
 
1201
  }
1202
 
1203
-
1204
- /**
1205
- * Geocode new marker position
1206
- *
1207
- * Perform nearby search request to see if the marker landed on a place
1208
- *
1209
- * @see: http://stackoverflow.com/questions/5688745/google-maps-v3-draggable-marker
1210
- * @param pos
1211
- */
1212
- function geocode_position( pos ) {
1213
-
1214
- var request = {
1215
- location: pos,
1216
- radius : 10
1217
- };
1218
- places_service.nearbySearch( request, function ( results, status ) {
1219
-
1220
- if ( status == google.maps.places.PlacesServiceStatus.OK ) {
1221
-
1222
- var info_bubble_content = '';
1223
- info_bubble.close();
1224
-
1225
- //if more than one result ask the user which one?
1226
- if ( results.length > 1 ) {
1227
-
1228
- info_bubble_content = '<div id="infobubble-content"><p>Hmm, it looks like there are multiple places in this area. Please confirm which place you would like this marker to display:</p>';
1229
-
1230
- for ( var i = 0; i < results.length; i++ ) {
1231
- info_bubble_content += '<a class="marker-confirm-place" data-reference="' + results[i].reference + '" data-name-address="' + results[i].name + ', ' + results[i].vicinity + '">' + results[i].name + '</a>';
1232
- }
1233
-
1234
- info_bubble_content += '</div>';
1235
-
1236
- //setup click event for links
1237
- google.maps.event.addDomListener( info_bubble, 'domready', function () {
1238
- $( '.marker-confirm-place' ).on( 'click', function ( e ) {
1239
- e.preventDefault();
1240
- $( '#gmb_geocoder' ).val( $( this ).data( 'name-address' ) );
1241
- $( '#gmb_reference' ).val( $( this ).data( 'reference' ) );
1242
- info_bubble.close();
1243
- get_info_window_content( $( this ).data( 'reference' ) );
1244
- //info_bubble.open( location_marker );
1245
- } );
1246
- } );
1247
-
1248
-
1249
- }
1250
-
1251
- info_bubble.setContent( info_bubble_content );
1252
-
1253
- info_bubble.open( map, location_marker );
1254
-
1255
-
1256
- }
1257
-
1258
- } );
1259
-
1260
- }
1261
-
1262
-
1263
  /**
1264
  * Scroll to Selector
1265
  *
@@ -1272,26 +1264,6 @@
1272
  }, 600 );
1273
  }
1274
 
1275
- /**
1276
- * Marker Drag End
1277
- *
1278
- * Executes after a user drags the initial marker
1279
- *
1280
- * @param marker
1281
- */
1282
- function marker_drag_end( marker ) {
1283
-
1284
- var map_center = marker.getPosition();
1285
- geocode_position( map_center );
1286
- //update with new map coordinates
1287
- $( lat_field ).val( map_center.lat() );
1288
- $( lng_field ).val( map_center.lng() );
1289
-
1290
- //Map centered on this location
1291
- map.panTo( map_center );
1292
-
1293
- }
1294
-
1295
  /**
1296
  * Radius Circle
1297
  *
@@ -1305,9 +1277,9 @@
1305
 
1306
  //update marker with set marker
1307
  radius_marker = new Marker( {
1308
- position : map.getCenter(),
1309
- map : map,
1310
- icon : {
1311
  path : MAP_PIN,
1312
  fillColor : '#0E77E9',
1313
  fillOpacity : 0,
@@ -1315,9 +1287,9 @@
1315
  strokeWeight: 0,
1316
  scale : 1 / 4
1317
  },
1318
- label : '<i class="map-icon-crosshairs radius-label"></i>',
1319
- zIndex : google.maps.Marker.MAX_ZINDEX + 1,
1320
- optimized: false
1321
  } );
1322
 
1323
  radius_circle = new google.maps.Circle( {
@@ -1343,56 +1315,44 @@
1343
  */
1344
  function toggle_metabox_fields() {
1345
 
1346
- var show_places = $( '.cmb_id_gmb_show_places input:radio' );
1347
 
1348
  //Places Metabox
1349
- if ( show_places.prop( 'checked' ) === true ) {
1350
- $( '.cmb_id_gmb_search_radius' ).show();
1351
- $( '.cmb_id_gmb_places_search_multicheckbox' ).show();
1352
  }
1353
 
1354
  //Nothing checked yet so select 'No' by default
1355
- if ( show_places.prop( 'checked' ) === false ) {
1356
  $( '#gmb_show_places2' ).prop( 'checked', true );
1357
  }
1358
 
1359
- show_places.on( 'change', function () {
 
1360
 
1361
- $( '.cmb_id_gmb_search_radius' ).toggle();
1362
- $( '.cmb_id_gmb_places_search_multicheckbox' ).toggle();
1363
 
1364
  if ( $( this ).val() === 'no' ) {
1365
  clear_search_markers();
 
1366
  } else {
1367
  perform_places_search();
 
1368
  }
1369
 
1370
  } );
1371
 
1372
  }
1373
 
1374
- /**
1375
- * Set Map Size
1376
- */
1377
- function set_map_size() {
1378
- var map_width = $( '#gmb_width_height-width' ).val();
1379
- var map_width_value = $( 'input[name="gmb_width_height[map_width_unit]"]:checked' ).val();
1380
- var map_height = $( '#gmb_width_height-height' ).val();
1381
- $( '#map' ).css( {
1382
- 'width' : map_width + map_width_value,
1383
- 'height': map_height
1384
- } );
1385
- }
1386
-
1387
-
1388
  /**
1389
  * Set Zoom Control
1390
  */
1391
  function set_map_zoom_control() {
1392
 
1393
- var zoom_control = $( '#gmb_zoom_control' ).val().toUpperCase();
1394
 
1395
- if ( zoom_control == 'NONE' ) {
1396
  map.setOptions( {
1397
  zoomControl: false
1398
  } );
@@ -1411,8 +1371,8 @@
1411
  * Set Map Type Control
1412
  */
1413
  function set_map_type_control() {
1414
- var map_type_control = $( '#gmb_map_type_control' ).val().toUpperCase();
1415
- if ( map_type_control == 'NONE' ) {
1416
  map.setOptions( {
1417
  mapTypeControl: false
1418
  } );
@@ -1532,24 +1492,33 @@
1532
  * Uses Snazzy Maps JSON arrow to set the colors for the map
1533
  *
1534
  */
1535
- function set_map_theme( reset ) {
1536
- if ( reset === true ) {
1537
- $( '#gmb_type' ).val( 'RoadMap' );
1538
- $( '#gmb_theme_json' ).val( 'none' );
 
 
 
 
 
1539
  }
 
 
 
 
 
1540
  //AJAX to get JSON data for Snazzy
1541
  $.getJSON( gmb_data.snazzy, function ( data ) {
1542
 
1543
- var map_theme_input_val = parseInt( $( '#gmb_theme' ).val() );
1544
-
1545
- if ( map_theme_input_val === 'none' ) {
1546
  set_map_type();
1547
  }
 
1548
  $.each( data, function ( index ) {
1549
 
1550
  if ( data[index].id === map_theme_input_val ) {
1551
  map_theme_input_val = eval( data[index].json );
1552
- $( '#gmb_theme_json' ).val( data[index].json );
1553
  }
1554
 
1555
  } );
@@ -1568,42 +1537,48 @@
1568
  */
1569
  function set_map_marker_icon() {
1570
 
 
 
 
 
 
1571
  //Marker Item Click
1572
  $( '.marker-item' ).on( 'click', function () {
1573
 
1574
  var marker_data = $( this ).data( 'marker' );
 
 
1575
  $( '.marker-item' ).removeClass( 'marker-item-selected' );
1576
  $( this ).addClass( 'marker-item-selected' );
 
1577
 
1578
- //default marker
1579
- if ( marker_data == 'default' ) {
1580
 
1581
- $( '.marker-icon-row, .marker-icon-color-wrap, .marker-label-color-wrap' ).slideUp();
1582
- $( '.save-marker-icon' ).slideDown();
1583
- $( '#TB_window .save-marker-button' ).attr( 'data-marker', '' );
1584
- $( '#TB_window .save-marker-button' ).attr( 'data-label', '' );
1585
 
1586
- } else {
1587
- //custom markers
1588
- $( '.marker-icon-color-wrap, .marker-icon-row' ).slideDown();
1589
- $( '#TB_window .save-marker-button' ).attr( 'data-marker', marker_data ); //Set marker data attribute on save btn
1590
- }
1591
 
 
 
 
 
 
 
 
1592
  } );
1593
 
1594
 
1595
- //Icon Click
1596
  $( '.icon' ).on( 'click', function () {
1597
  $( '.icon' ).removeClass( 'marker-item-selected' );
1598
  $( this ).addClass( 'marker-item-selected' );
1599
  $( '.save-marker-icon, .marker-label-color-wrap' ).slideDown(); //slide down save button
1600
- $( '#TB_window .save-marker-button' ).attr( 'data-label', $( this ).find( 'span' ).attr( 'class' ) ); //Set marker data attribute on save btn
1601
  } );
1602
 
1603
 
1604
- /**
1605
- * Colors
1606
- */
1607
  //Setup colorpickers
1608
  var color_picker_options = {
1609
  // you can declare a default color here, or in the data-default-color attribute on the input
@@ -1642,6 +1617,21 @@
1642
 
1643
  }
1644
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1645
  /**
1646
  * Refresh Tooltips
1647
  *
@@ -1672,6 +1662,47 @@
1672
  }
1673
  }
1674
  } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1675
  }
1676
 
1677
- }( jQuery ));
 
5
  * https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple
6
  *
7
  */
8
+ var gmb_data;
9
 
10
  (function ( $ ) {
11
+
12
  "use strict";
13
 
14
+
15
  /**
16
  * Window Load functions
17
  */
18
  $( window ).load( function () {
19
 
20
+
21
  toggle_metabox_fields();
22
 
23
  //tooltips
39
  $( '.drop-marker' ).on( 'click', function ( e ) {
40
  e.preventDefault();
41
  if ( $( this ).hasClass( 'active' ) ) {
42
+ $( this ).html( gmb_data.i18n.btn_drop_marker ).removeClass( 'active' );
43
  map.setOptions( {draggableCursor: null} ); //reset cursor
44
  } else {
45
+ $( this ).html( gmb_data.i18n.btn_drop_marker_click ).addClass( 'active' );
46
  map.setOptions( {draggableCursor: 'crosshair'} );
47
  var dropped_marker_event = google.maps.event.addListener( map, 'click', function ( event ) {
48
  drop_marker( event.latLng, dropped_marker_event );
56
 
57
  //Search Radius Circle
58
  $( '#gmb_search_radius' ).on( 'focus', function () {
59
+ google.maps.event.trigger( map, 'resize' ); //refresh map to get exact center
60
  current_radius = $( this ).val();
61
  calc_radius( map, parseInt( $( this ).val() ) );
62
  } ).focusout( function () {
69
 
70
  //Places Type Field
71
  $( '[name^="gmb_places_search_multicheckbox"]' ).on( 'change', function () {
72
+
73
  //Show message if not already displayed
74
  if ( $( '.places-change-message' ).length === 0 ) {
75
+ $( '.cmb2-id-gmb-places-search-multicheckbox ul' ).prepend( '<div class="wpgp-message places-change-message clear"><p>' + gmb_data.i18n.places_selection_changed + '</p><a href="#" class="button update-places-map">' + gmb_data.i18n.set_place_types + '</a></div>' );
76
  $( '.places-change-message' ).slideDown();
77
  }
78
 
79
  } );
80
 
81
+ $( '.cmb-multicheck-toggle' ).on( 'click', function () {
82
+ if ( $( '.places-change-message' ).length === 0 ) {
83
+ $( '.cmb2-id-gmb-places-search-multicheckbox ul' ).prepend( '<div class="wpgp-message places-change-message clear"><p>' + gmb_data.i18n.places_selection_changed + '</p><a href="#" class="button update-places-map">' + gmb_data.i18n.set_place_types + '</a></div>' );
84
+ $( '.places-change-message' ).slideDown();
85
+ }
86
+ } );
87
+
88
  //Places Update Map Button
89
  $( document ).on( 'click', '.update-places-map', function ( e ) {
90
  e.preventDefault();
96
  } );
97
 
98
  //Update lat lng message
99
+ $( '.lat-lng-update-btn, .update-lat-lng' ).on( 'click', function ( e ) {
100
  e.preventDefault();
101
+ $( this ).attr( 'disabled', 'disabled' );
102
  $( '.lat-lng-change-message' ).slideUp();
103
  $( '#gmb_lat_lng-latitude' ).val( $( this ).attr( 'data-lat' ) );
104
  $( '#gmb_lat_lng-longitude' ).val( $( this ).attr( 'data-lng' ) );
115
  var location_marker = new google.maps.Marker( {
116
  position : tentative_location_marker.getPosition(),
117
  map : map,
118
+ icon : gmb_data.default_marker,
119
  zIndex : google.maps.Marker.MAX_ZINDEX + 1,
120
  optimized: false
121
  } );
126
  //get current number of repeatable rows ie markers
127
  var index = get_marker_index();
128
 
129
+ var place_id = $( this ).data( 'place_id' );
130
 
131
  //add data to fields
 
 
 
 
 
132
  get_editable_info_window( index, location_marker );
133
 
134
+ $( 'input[data-field="#gmb_markers_group_' + index + '_title"]' ).val( $( this ).data( 'title' ) );
135
+ $( 'input#gmb_markers_group_' + index + '_lat' ).val( $( this ).data( 'lat' ) );
136
+ $( 'input#gmb_markers_group_' + index + '_lng' ).val( $( this ).data( 'lng' ) );
137
+ $( 'input#gmb_markers_group_' + index + '_place_id' ).val( place_id );
138
+
139
+
140
  //location clicked
141
  google.maps.event.addListener( location_marker, 'click', function () {
142
  get_info_window_content( index, location_marker );
153
  } );
154
  //Map Theme
155
  $( '#gmb_theme' ).change( function () {
156
+ set_map_theme();
157
  } );
158
  //street view
159
  $( '#gmb_street_view' ).change( function () {
183
  $( '#gmb_zoom_control' ).change( function () {
184
  set_map_zoom_control();
185
  } );
186
+
187
+
188
+ //Close repeaters
189
+ $( '.cmb-repeatable-grouping' ).addClass( 'closed' );
190
+
191
+ //Add Repeater toggle button
192
+ $( '.toggle-repeater-groups' ).on( 'click', function ( e ) {
193
+ e.preventDefault();
194
+ $( '#gmb_markers_group_repeat .cmb-repeatable-grouping' ).toggleClass( 'closed' );
195
  } );
196
+
197
+ //Window resize
198
+ $( window ).on( 'resize', function () {
199
+ //Ensure window resizes triggers map resize
200
+ google.maps.event.trigger( map, 'resize' );
201
  } );
202
 
203
  } ); //End Window Load
253
  var drop_location_marker = new Marker( {
254
  position : lat_lng,
255
  map : map,
256
+ icon : gmb_data.default_marker,
257
  zIndex : google.maps.Marker.MAX_ZINDEX + 1,
258
  optimized: false
259
  } );
262
  var index = get_marker_index();
263
 
264
  //add data to fields
265
+ $( '#gmb_markers_group_' + index + '_title' ).val( 'Point ' + parseInt( index + 1 ) );
266
  $( '#gmb_markers_group_' + index + '_lat' ).val( lat );
267
  $( '#gmb_markers_group_' + index + '_lng' ).val( lng );
268
 
285
 
286
  lat_field = $( '#gmb_lat_lng-latitude' );
287
  lng_field = $( '#gmb_lat_lng-longitude' );
288
+ var lat_toolbar = $( '.live-latitude' );
289
+ var lng_toolbar = $( '.live-longitude' );
290
+ var latitude = (lat_field.val()) ? lat_field.val() : '';
291
+ var longitude = (lng_field.val()) ? lng_field.val() : '';
292
+
293
  zoom = parseInt( $( '#gmb_zoom' ).val() );
294
  lat_lng = new google.maps.LatLng( latitude, longitude );
295
 
311
  };
312
 
313
  map = new google.maps.Map( map_canvas[0], mapOptions );
314
+ window.map = map;
315
  places_service = new google.maps.places.PlacesService( map );
316
 
 
317
  //Handle Map Geolocation
318
  if ( navigator.geolocation && gmb_data.geolocate_setting === 'yes' && longitude == '' && latitude == '' ) {
319
  navigator.geolocation.getCurrentPosition( function ( position ) {
321
  map.setCenter( initial_location ); //set map with location
322
  lat_field.val( position.coords.latitude ); //set lat field
323
  lng_field.val( position.coords.longitude ); //set lng field
324
+ lat_toolbar.text( position.coords.latitude ); //update toolbar
325
+ lng_toolbar.text( position.coords.longitude ); //update toolbar
326
+
327
  } );
328
  }
329
  // Presaved longitude and latitude is in place
333
  map.setCenter( new google.maps.LatLng( latitude, longitude ) );
334
 
335
  }
 
336
  else {
 
337
  initial_location = new google.maps.LatLng( gmb_data.default_lat, gmb_data.default_lng );
338
  lat_field.val( gmb_data.default_lat ); //set lat field
339
  lng_field.val( gmb_data.default_lng ); //set lng field
340
+ lat_toolbar.text( gmb_data.default_lat ); //update toolbar
341
+ lng_toolbar.text( gmb_data.default_lng ); //update toolbar
342
  map.setCenter( initial_location );
343
  }
344
 
346
  //Set various map view options
347
  set_map_type( false );
348
  if ( $( '#gmb_theme' ).val() !== 'none' ) {
349
+ set_map_theme();
350
  }
351
  set_street_view();
352
  set_pan_control();
360
  //Setup Autocomplete field if undefined
361
  if ( typeof(autocomplete) == 'undefined' ) {
362
 
363
+ var autocomplete_el = $( '#gmb_geocoder' );
364
+
365
+ autocomplete = new google.maps.places.Autocomplete( autocomplete_el[0] );
366
  autocomplete.bindTo( 'bounds', map );
367
 
368
+ //Tame the enter key to not save the widget while using the autocomplete input
369
+ google.maps.event.addDomListener( autocomplete_el[0], 'keydown', function ( e ) {
370
+ if ( e.keyCode == 13 ) {
371
+ e.preventDefault();
372
+ }
373
+ } );
374
+
375
  //Autocomplete event listener
376
  google.maps.event.addListener( autocomplete, 'place_changed', function () {
377
 
378
  //Clear autocomplete input value
379
+ autocomplete_el.one( 'blur', function () {
380
+ autocomplete_el.val( '' );
381
  } );
382
  setTimeout( function () {
383
+ autocomplete_el.val( '' );
384
  }, 10 );
385
 
386
+ //Remove any other tentative markers
387
  if ( typeof tentative_location_marker !== 'undefined' ) {
388
  tentative_location_marker.setVisible( false );
389
  }
390
 
391
+ //Close a modal if applicable
392
+ $( '.cmb2-id-gmb-geocoder' ).find( '.gmb-modal-close' ).trigger( 'click' );
393
+ $( '.cmb2-id-gmb-geocoder' ).find( '.mfp-close' ).trigger( 'click' );
394
+
395
  //get place information
396
  place = autocomplete.getPlace();
397
 
406
  }
407
 
408
  map.setCenter( place.geometry.location );
409
+ add_tentative_marker( map, place.place_id );
410
 
411
  } );
412
  }
425
  add_markers( map );
426
 
427
  //toggle places
428
+ if ( typeof $( '.cmb2-id-gmb-show-places input:radio' ).prop( 'checked' ) !== 'undefined' && $( '.cmb2-id-gmb-show-places input:radio:checked' ).val() === 'yes' ) {
429
  perform_places_search();
430
  }
431
 
436
  handle_map_zoom( map );
437
  } );
438
 
 
 
 
 
 
 
 
 
439
 
440
  } //end initialize_map
441
 
443
  /**
444
  * Shows a Marker when Autocomplete search is used
445
  * @param map
446
+ * @param place_id
447
  */
448
+ function add_tentative_marker( map, place_id ) {
449
 
450
  var map_center = map.getCenter();
451
 
455
  title : 'Map Icons',
456
  animation: google.maps.Animation.DROP,
457
  position : new google.maps.LatLng( map_center.lat(), map_center.lng() ),
458
+ icon : new google.maps.MarkerImage( gmb_data.plugin_url + "assets/img/default-icon-green-no-dot.png" ),
459
  zIndex : google.maps.Marker.MAX_ZINDEX + 1,
460
  optimized: false
461
  } );
462
 
463
  //EVENTS
464
  var location_marker_mouseover = google.maps.event.addListener( tentative_location_marker, 'mouseover', function ( event ) {
465
+ add_circle( place_id );
466
  } );
467
  var location_marker_mouseout = google.maps.event.addListener( tentative_location_marker, 'mouseout', function ( event ) {
468
  hover_circle.setVisible( false );
476
  //show circle
477
  hover_circle.setVisible( true );
478
  //update marker icons
479
+ //Get initial place details from place_id
480
+ add_tenative_info_window( place_id, tentative_location_marker );
481
  } );
482
 
483
 
492
  /**
493
  * Set the editable marker window content
494
  */
495
+ function add_tenative_info_window( place_id, marker ) {
496
 
497
  var request = {
498
+ key : gmb_data.api_key,
499
+ placeId: place_id
500
  };
501
 
502
  places_service.getDetails( request, function ( place, status ) {
510
 
511
  info_window_content += add_place_content_to_info_window( place );
512
 
513
+ info_window_content += '<div class="infowindow-toolbar clear"><a href="#" class="add-marker" data-title="' + place.name + '" data-place_id="' + place.place_id + '" data-lat="' + lat + '" data-lng="' + lng + '">Add to Map</a></div>';
 
514
 
515
  info_window_content = set_info_window_wrapper( info_window_content ); //wraps the content in div and returns
516
 
520
 
521
  //close info window button
522
  google.maps.event.addListener( info_bubble, 'closeclick', function () {
523
+ //Get initial place details from place_id
524
  hover_circle.setVisible( false );
525
 
526
  } );
559
  //rating
560
  if ( place.rating ) {
561
  info_window_content += '<div class="rating-wrap clear">' +
562
+ '<p class="numeric-rating">' + place.rating + '</p>' +
563
+ '<div class="star-rating-wrap">' +
564
+ '<div class="star-rating-size" style="width:' + (65 * place.rating / 5) + 'px;"></div>' +
565
+ '</div>' +
566
+ '</div>'
567
  }
568
 
569
 
599
  }
600
 
601
  //place name
602
+ if ( info_window_data.title ) {
603
+ info_window_content = '<input class="edit-place-title" data-field="#gmb_markers_group_' + index + '_title" type="text" value="' + info_window_data.title + '">';
604
+ }
605
 
606
+ if ( info_window_data.desc ) {
607
+ info_window_content += '<textarea class="edit-place-description" data-field="#gmb_markers_group_' + index + '_description">' + info_window_data.desc + '</textarea>';
608
+ } else {
609
+ info_window_content += '<textarea class="edit-place-description" data-field="#gmb_markers_group_' + index + '_description"></textarea>';
610
+ }
611
 
612
  //toolbar
613
  info_window_content += '<div class="infowindow-toolbar clear"><ul id="save-toolbar">' +
614
+ '<li class="info-window-save"><div class="google-btn-blue google-btn google-save-btn" data-tooltip="Save changes" data-index="' + index + '">Save</div></li>' +
615
+ '<li class="info-window-cancel"><div class="google-btn-default google-btn google-cancel-btn" data-tooltip="Cancel edit" data-index="' + index + '">Cancel</div></li>' +
616
+ '</ul>' +
617
+ '<span class="marker-edit-link-wrap" data-index="' + index + '"><a href="#" data-target="marker-icon-modal" data-tooltip="Change icon" data-mfp-src="#marker-icon-modal" class="marker-edit-link gmb-magnific-marker gmb-magnific-inline"></a></span>' +
618
+ '</div>';
619
 
620
  info_window_content = set_info_window_wrapper( info_window_content );
621
  info_bubble.setContent( info_window_content );
641
 
642
  } );
643
 
644
+ //Remove row button/icon also removes icon (CMB2 buttons)
645
+ $( '#gmb_markers_group_' + index + '_title' ).parents( '.cmb-repeatable-grouping' ).find( '.cmb-remove-group-row' ).each( function () {
646
+ google.maps.event.addDomListener( $( this )[0], 'click', function () {
647
+ var index = $( this ).parents( '.cmb-repeatable-grouping' ).data( 'index' );
648
+ //close info window and remove marker
649
+ info_bubble.close();
650
+ marker.setVisible( false );
651
+ } );
652
+ } );
653
 
654
  //Close Click
655
  google.maps.event.addDomListener( info_bubble, 'closeclick', function () {
666
 
667
  } );
668
 
669
+ //Infowindow pin icon click to open magnific modal
670
  var edit_marker_icon_button_click = google.maps.event.addDomListener( $( '.marker-edit-link-wrap' )[0], 'click', function () {
671
  $( '.save-marker-button' ).attr( 'data-marker-index', $( this ).data( 'index' ) ); //Set the index for this marker
672
  } );
673
 
 
674
  //Marker Modal Update Icon
675
+ var save_icon_listener = google.maps.event.addDomListener( $( '.save-marker-button' )[0], 'click', function ( e ) {
676
+ e.preventDefault();
677
  var marker_position = marker.getPosition();
678
  var marker_icon_data;
679
  var marker_icon = $( this ).data( 'marker' );
691
  //collect marker data from submit button
692
  var marker_label_data = '<i class="' + $( this ).data( 'label' ) + '" style="' + marker_label_inline_style + '"></i>';
693
 
694
+ //Determine which type of marker to place
695
+ if ( marker_icon == 'mapicons' || marker_icon == 'upload' || marker_icon == 'default' ) {
696
+ marker_icon_data = $( this ).data( 'marker-image' );
697
+ marker_label_data = ''; //no label here (img marker)
698
+ $( '#gmb_markers_group_' + index + '_marker_img' ).val( marker_icon_data ); //set marker image field
699
+ $( '#gmb_markers_group_' + index + '_marker', '#gmb_markers_group_' + index + '_label' ).val( '' ); //clear other marker data
700
+ }
701
+ //custom SVG markers
702
+ else if ( marker_icon == 'MAP_PIN' || marker_icon == 'SQUARE_PIN' ) {
703
  //maps-icon
704
  marker_icon_data = '{ path : ' + marker_icon + ', fillColor : "' + marker_icon_color + '", fillOpacity : 1, strokeColor : "", strokeWeight: 0, scale : 1 / 3 }';
705
+ //Update fields with necessary data
706
  $( '#gmb_markers_group_' + index + '_marker' ).val( marker_icon_data );
707
+ $( '#gmb_markers_group_' + index + '_label' ).val( marker_label_data );
708
+ marker_icon_data = eval( '(' + marker_icon_data + ')' );
709
+ $( '#gmb_markers_group_' + index + '_marker_img' ).val( '' ); //set marker image field
710
  }
711
 
712
  //remove current marker
717
 
718
  //Update Icon
719
  marker = new Marker( {
720
+ position : marker_position,
721
+ map : map,
722
+ zIndex : 9,
723
+ icon : marker_icon_data,
724
+ custom_label: marker_label_data
725
  } );
726
 
727
  //Add event listener to new marker
731
 
732
  //Clean up modal and close
733
  $( '.icon, .marker-item' ).removeClass( 'marker-item-selected' ); //reset modal
734
+ $( '.marker-icon-row, .save-marker-icon' ).hide(); //reset modal
735
  $( this ).removeData( 'marker' ); //Remove data
736
  $( this ).removeData( 'marker-color' ); //Remove data
737
  $( this ).removeData( 'label' ); //Remove data
738
  $( this ).removeData( 'label-color' ); //Remove data
739
+ console.log( 'here' );
740
+ console.log( $( '.magnific-builder' ).length );
741
+ if ( $( '.magnific-builder' ).length === 0 ) {
742
+ $.magnificPopup.close(); // Close popup that is currently opened (shorthand)
743
+ } else {
744
+ $( '.gmb-modal-close' ).trigger( 'click' );
745
+ }
746
  google.maps.event.removeListener( save_icon_listener ); //remove this event listener
747
  google.maps.event.removeListener( edit_marker_icon_button_click ); //remove this event listener
748
 
772
  /**
773
  * Adds a marker circle
774
  */
775
+ function add_circle( place_id ) {
776
 
777
  hover_circle = new google.maps.Marker( {
778
  position : tentative_location_marker.getPosition(),
792
 
793
 
794
  google.maps.event.addListener( hover_circle, 'click', function () {
795
+ //Get initial place details from place_id
796
+ add_tenative_info_window( place_id, tentative_location_marker );
797
  } );
798
  google.maps.event.addListener( tentative_location_marker, 'click', function () {
799
+ //Get initial place details from place_id
800
  hover_circle.setVisible( true );
801
  } );
802
 
815
  clear_main_markers();
816
 
817
  //Loop through repeatable field of markers
818
+ $( "#gmb_markers_group_repeat" ).find( '.cmb-repeatable-grouping' ).each( function ( index ) {
819
 
820
+ var marker_icon = gmb_data.default_marker;
821
  var marker_label = '';
822
 
823
  //check for custom marker and label data
824
  var custom_marker_icon = $( '#gmb_markers_group_' + index + '_marker' ).val();
825
+ var custom_marker_img = $( '#gmb_markers_group_' + index + '_marker_img' ).val();
826
+
827
+ //check for custom marker and label data
828
+ if ( custom_marker_img ) {
829
+ marker_icon = custom_marker_img;
830
+ } else if ( custom_marker_icon.length > 0 && custom_marker_icon.length > 0 ) {
831
+ var custom_label = $( '#gmb_markers_group_' + index + '_label' ).val();
832
  marker_icon = eval( "(" + custom_marker_icon + ")" );
 
 
 
833
  marker_label = custom_label;
834
  }
835
 
836
+
837
  //Marker for map
838
  var location_marker = new Marker( {
839
+ map : map,
840
+ zIndex : 9,
841
+ icon : marker_icon,
842
+ custom_label: marker_label
843
  } );
844
 
845
  var marker_lat = $( '#gmb_markers_group_' + index + '_lat' ).val();
852
  get_info_window_content( index, location_marker );
853
  } );
854
 
855
+ //Remove row button/icon also removes icon (CMB2 buttons)
856
+ $( '#gmb_markers_group_' + index + '_title' ).parents( '.cmb-repeatable-grouping' ).find( '.cmb-remove-group-row' ).each( function () {
857
+ google.maps.event.addDomListener( $( this )[0], 'click', function () {
858
+ var index = $( this ).parents( '.cmb-repeatable-grouping' ).data( 'index' );
859
+ //close info window and remove marker
860
+ info_bubble.close();
861
+ location_marker.setVisible( false );
862
+ } );
863
+ } );
864
+
865
  } ); //end $.each()
866
 
867
  }
869
 
870
  function get_info_window_saved_data( index ) {
871
 
872
+ var info_window_data = {};
873
 
874
  info_window_data.title = $( '#gmb_markers_group_' + index + '_title' ).val();
875
  info_window_data.desc = $( '#gmb_markers_group_' + index + '_description' ).val();
876
  info_window_data.reference = $( '#gmb_markers_group_' + index + '_reference' ).val();
877
+ info_window_data.place_id = $( '#gmb_markers_group_' + index + '_place_id' ).val();
878
  info_window_data.lat = $( '#gmb_markers_group_' + index + '_lat' ).val();
879
  info_window_data.lng = $( '#gmb_markers_group_' + index + '_lng' ).val();
880
+ info_window_data.hide_place_info = $( '#gmb_markers_group_' + index + '_hide_details' ).prop( 'checked' );
881
 
882
  return info_window_data;
883
 
901
 
902
  var info_window_data = get_info_window_saved_data( index );
903
 
904
+ //Start building infowindow content
905
+ var info_window_content = '<p class="place-title">' + info_window_data.title + '</p>';
906
 
907
+ info_window_content += '<div class="place-description">' + info_window_data.desc + '</div>';
908
 
909
+ //Show place information within this infowindow?
910
+ if ( info_window_data.place_id && info_window_data.hide_place_info === false ) {
911
 
912
  var request = {
913
+ key : gmb_data.api_key,
914
+ placeId: info_window_data.place_id
915
  };
916
  places_service.getDetails( request, function ( place, status ) {
 
 
 
917
 
918
+ if ( status == google.maps.places.PlacesServiceStatus.OK ) {
919
 
920
  info_window_content += add_place_content_to_info_window( place );
921
+ info_window_content += set_marker_edit_icons( index );
 
 
 
 
 
 
922
  add_edit_events( info_window_content, marker );
923
 
924
  }
926
 
927
 
928
  } else {
929
+ info_window_content += set_marker_edit_icons( index );
 
 
 
 
 
 
 
 
 
 
 
 
930
  add_edit_events( info_window_content, marker );
 
 
931
  }
932
 
933
 
956
  //trash button event
957
  google.maps.event.addDomListener( $( '.trash-marker' )[0], 'click', function () {
958
  var index = $( this ).data( 'index' );
 
959
  //if first item clear out all input values
960
+ $( 'div[data-iterator="' + index + '"] ' ).find( 'input,textarea' ).val( '' );
 
 
 
961
  //trigger remove row button click for this specific markers row
962
+ $( 'div[data-iterator="' + index + '"]' ).find( '.cmb-remove-group-row' ).trigger( 'click' );
963
  //close info window and remove marker
964
  info_bubble.close();
965
  marker.setVisible( false );
966
  } );
967
 
968
+
969
  }
970
 
971
 
977
  */
978
  function get_marker_index() {
979
  //Create a new marker repeatable meta group
980
+ var index = parseInt( $( '#gmb_markers_group_repeat div.cmb-repeatable-grouping' ).last().attr( 'data-iterator' ) );
981
+ var existing_vals = $( 'div[data-iterator="0"] ' ).find( 'input,textarea' ).val();
982
 
983
  //Ensure appropriate index is used for marker
984
  if ( existing_vals && index === 0 ) {
985
+ $( '.cmb-add-group-row.button' ).trigger( 'click' );
986
  index = 1;
987
  } else if ( index !== 0 ) {
988
+ $( '.cmb-add-group-row.button' ).trigger( 'click' );
989
  //recount rows
990
+ index = parseInt( $( '#gmb_markers_group_repeat div.cmb-repeatable-grouping' ).last().attr( 'data-iterator' ) );
991
  }
992
  return index;
993
  }
1005
  info_bubble.open( map, marker );
1006
 
1007
  var request = {
1008
+ key : gmb_data.api_key,
1009
+ placeId: place.place_id
1010
  };
1011
+
1012
  places_service.getDetails( request, function ( place, status ) {
1013
+
1014
  if ( status == google.maps.places.PlacesServiceStatus.OK ) {
1015
 
1016
  var info_window_content;
1026
 
1027
  initialize_tooltips(); //refresh tooltips
1028
 
1029
+ } else {
1030
+ //There was an API error; display it for the user:
1031
+ info_bubble.setContent( '<p class="place-error">Google API Error: ' + status + '</p>' );
1032
+
1033
  }
1034
  } );
1035
  }
1046
 
1047
  var types_array = [];
1048
 
1049
+ $( '.cmb2-id-gmb-places-search-multicheckbox input[type="checkbox"]' ).each( function () {
1050
  if ( $( this ).is( ':checked' ) ) {
1051
  types_array.push( $( this ).val() );
1052
  }
1060
 
1061
  /**
1062
  * Google Places Nearby Search
 
1063
  */
1064
  function perform_places_search() {
1065
 
1075
 
1076
  //perform search request
1077
  var request = {
1078
+ key : gmb_data.api_key,
1079
  location: return_lat_lng(),
1080
  types : types_array,
1081
  radius : parseInt( $( '#gmb_search_radius' ).val() )
1220
  * Clears Main Markers
1221
  *
1222
  * Used to clear out main location marker to prevent from displaying multiple
 
1223
  */
1224
  function clear_main_markers() {
1225
 
1241
  * Clears Search Markers
1242
  *
1243
  * Used to clear out main search markers
 
1244
  */
1245
  function clear_search_markers() {
1246
 
1252
 
1253
  }
1254
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1255
  /**
1256
  * Scroll to Selector
1257
  *
1264
  }, 600 );
1265
  }
1266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1267
  /**
1268
  * Radius Circle
1269
  *
1277
 
1278
  //update marker with set marker
1279
  radius_marker = new Marker( {
1280
+ position : map.getCenter(),
1281
+ map : map,
1282
+ icon : {
1283
  path : MAP_PIN,
1284
  fillColor : '#0E77E9',
1285
  fillOpacity : 0,
1287
  strokeWeight: 0,
1288
  scale : 1 / 4
1289
  },
1290
+ custom_label: '<i class="map-icon-crosshairs radius-label"></i>',
1291
+ zIndex : google.maps.Marker.MAX_ZINDEX + 1,
1292
+ optimized : false
1293
  } );
1294
 
1295
  radius_circle = new google.maps.Circle( {
1315
  */
1316
  function toggle_metabox_fields() {
1317
 
1318
+ var show_places = $( '.cmb2-id-gmb-show-places input:radio' );
1319
 
1320
  //Places Metabox
1321
+ if ( show_places.prop( 'checked' ) ) {
1322
+ $( '.cmb2-id-gmb-search-radius' ).toggle();
1323
+ $( '.cmb2-id-gmb-places-search-multicheckbox' ).toggle();
1324
  }
1325
 
1326
  //Nothing checked yet so select 'No' by default
1327
+ if ( !show_places.prop( 'checked' ) ) {
1328
  $( '#gmb_show_places2' ).prop( 'checked', true );
1329
  }
1330
 
1331
+ //Places
1332
+ $( '.cmb2-id-gmb-show-places li input:radio' ).on( 'click', function () {
1333
 
1334
+ $( this ).find( 'input:radio' ).prop( 'checked', true );
 
1335
 
1336
  if ( $( this ).val() === 'no' ) {
1337
  clear_search_markers();
1338
+ $( '.cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox' ).hide();
1339
  } else {
1340
  perform_places_search();
1341
+ $( '.cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox' ).show();
1342
  }
1343
 
1344
  } );
1345
 
1346
  }
1347
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1348
  /**
1349
  * Set Zoom Control
1350
  */
1351
  function set_map_zoom_control() {
1352
 
1353
+ var zoom_control = $( '#gmb_zoom_control' ).val().toLowerCase();
1354
 
1355
+ if ( zoom_control == 'none' ) {
1356
  map.setOptions( {
1357
  zoomControl: false
1358
  } );
1371
  * Set Map Type Control
1372
  */
1373
  function set_map_type_control() {
1374
+ var map_type_control = $( '#gmb_map_type_control' ).val().toLowerCase();
1375
+ if ( map_type_control == 'none' ) {
1376
  map.setOptions( {
1377
  mapTypeControl: false
1378
  } );
1492
  * Uses Snazzy Maps JSON arrow to set the colors for the map
1493
  *
1494
  */
1495
+ function set_map_theme() {
1496
+
1497
+ var preset_theme = $( '#gmb_theme' );
1498
+ var custom_theme_json = $( '#gmb_theme_json' );
1499
+ var map_type_select_field = $( '#gmb_type' );
1500
+ var map_theme_input_val = parseInt( preset_theme.val() );
1501
+
1502
+ if ( preset_theme.val() !== 'none' ) {
1503
+ map_type_select_field.val( 'RoadMap' ); //change Map Type view back to roadmap
1504
  }
1505
+ //User set Snazzy theme to none
1506
+ else {
1507
+ custom_theme_json.val( '' ); //clear JSON field
1508
+ }
1509
+
1510
  //AJAX to get JSON data for Snazzy
1511
  $.getJSON( gmb_data.snazzy, function ( data ) {
1512
 
1513
+ if ( preset_theme.val() === 'none' ) {
 
 
1514
  set_map_type();
1515
  }
1516
+
1517
  $.each( data, function ( index ) {
1518
 
1519
  if ( data[index].id === map_theme_input_val ) {
1520
  map_theme_input_val = eval( data[index].json );
1521
+ custom_theme_json.val( data[index].json );
1522
  }
1523
 
1524
  } );
1537
  */
1538
  function set_map_marker_icon() {
1539
 
1540
+ var marker_containers = $( '.marker-icon-row' );
1541
+ var marker_modal = $( '.marker-icon-modal' );
1542
+ var marker_modal_save_container = marker_modal.find( '.save-marker-icon' );
1543
+ var marker_modal_save_btn = marker_modal.find( '.save-marker-button' );
1544
+
1545
  //Marker Item Click
1546
  $( '.marker-item' ).on( 'click', function () {
1547
 
1548
  var marker_data = $( this ).data( 'marker' );
1549
+ var marker_toggle = $( this ).data( 'toggle' );
1550
+
1551
  $( '.marker-item' ).removeClass( 'marker-item-selected' );
1552
  $( this ).addClass( 'marker-item-selected' );
1553
+ marker_modal_save_btn.attr( 'data-marker', marker_data ); //Set marker data attribute on save bt
1554
 
1555
+ //Slide up all panels
1556
+ marker_containers.hide();
1557
 
1558
+ //Slide down specific div
1559
+ $( '.' + marker_toggle ).slideDown();
 
 
1560
 
1561
+ } );
 
 
 
 
1562
 
1563
+
1564
+ //Old school icon click action
1565
+ $( '.maps-icon' ).on( 'click', function () {
1566
+ $( '.maps-icon' ).removeClass( 'marker-item-selected' );
1567
+ marker_modal_save_container.slideDown();
1568
+ $( this ).addClass( 'marker-item-selected' );
1569
+ marker_modal_save_btn.data( 'marker-image', $( this ).find( 'img' ).attr( 'src' ) );
1570
  } );
1571
 
1572
 
1573
+ //SVG/Font icon Click
1574
  $( '.icon' ).on( 'click', function () {
1575
  $( '.icon' ).removeClass( 'marker-item-selected' );
1576
  $( this ).addClass( 'marker-item-selected' );
1577
  $( '.save-marker-icon, .marker-label-color-wrap' ).slideDown(); //slide down save button
1578
+ marker_modal_save_btn.attr( 'data-label', $( this ).find( 'span' ).attr( 'class' ) ); //Set marker data attribute on save btn
1579
  } );
1580
 
1581
 
 
 
 
1582
  //Setup colorpickers
1583
  var color_picker_options = {
1584
  // you can declare a default color here, or in the data-default-color attribute on the input
1617
 
1618
  }
1619
 
1620
+ /**
1621
+ * Set Marker Edit Icons
1622
+ *
1623
+ * @since 2.0
1624
+ * @param marker_index This markers index
1625
+ * @returns {string}
1626
+ */
1627
+ function set_marker_edit_icons( marker_index ) {
1628
+ return '<div class="infowindow-toolbar"><ul id="edit-toolbar">' +
1629
+ '<li class="edit-info" data-index="' + marker_index + '" data-tooltip="' + gmb_data.i18n.btn_edit_marker + '"></li>' +
1630
+ '<li class="trash-marker" data-index="' + marker_index + '" data-tooltip="' + gmb_data.i18n.btn_delete_marker + '"></li>' +
1631
+ '</ul>' +
1632
+ '</div>';
1633
+ }
1634
+
1635
  /**
1636
  * Refresh Tooltips
1637
  *
1662
  }
1663
  }
1664
  } );
1665
+
1666
+ //CMB2 Tooltips
1667
+ //@TODO: Coming soon!
1668
+ //$( '.gmb-tooltip-field' ).each( function () {
1669
+ //
1670
+ // var tooltip_label = $( this ).find( 'label' );
1671
+ // //prevent multiple help icons
1672
+ // if ( $( tooltip_label ).find( '.gmb-help-icon' ).length == 0 ) {
1673
+ // tooltip_label.append( '<span class="gmb-help-icon"></span>' );
1674
+ // }
1675
+ //
1676
+ // $( this ).find( '.cmb-group-name' ).append( '<span class="gmb-help-icon"></span>' );
1677
+ //
1678
+ // $( this ).find( '.gmb-help-icon' ).qtip( { // Grab all elements with a non-blank data-tooltip attr.
1679
+ // content : {
1680
+ // text: $( this ).find( '.gmb-tooltip-text' ).text()
1681
+ // },
1682
+ // hide : {
1683
+ // fixed: true,
1684
+ // delay: 100
1685
+ // },
1686
+ // position: {
1687
+ // my: 'bottom center',
1688
+ // at: 'top center'
1689
+ // },
1690
+ // style : {
1691
+ // classes: 'qtip-tipsy'
1692
+ // },
1693
+ // show : {
1694
+ // when : {
1695
+ // event: 'focus'
1696
+ // },
1697
+ // effect: function () {
1698
+ // $( this ).fadeIn( 200 );
1699
+ // }
1700
+ // }
1701
+ // } );
1702
+ //
1703
+ //} );
1704
+
1705
  }
1706
 
1707
+ }( jQuery ));
1708
+
assets/js/admin/admin-google-map.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var gmb_data;!function($){"use strict";function drop_marker(e,a){var t=e.lat(),o=e.lng();"undefined"!=typeof i&&i.setVisible(!1),$(".drop-marker").removeClass("active").text("Drop a Marker"),map.setOptions({draggableCursor:null}),google.maps.event.removeListener(a);var i=new Marker({position:e,map:map,icon:gmb_data.default_marker,zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1}),n=get_marker_index();$("#gmb_markers_group_"+n+"_title").val("Point "+parseInt(n+1)),$("#gmb_markers_group_"+n+"_lat").val(t),$("#gmb_markers_group_"+n+"_lng").val(o),get_editable_info_window(n,i),google.maps.event.addListener(i,"click",function(){get_info_window_content(n,i)})}function initialize_map(e){lat_field=$("#gmb_lat_lng-latitude"),lng_field=$("#gmb_lat_lng-longitude");var a=$(".live-latitude"),t=$(".live-longitude"),o=lat_field.val()?lat_field.val():"",i=lng_field.val()?lng_field.val():"";zoom=parseInt($("#gmb_zoom").val()),lat_lng=new google.maps.LatLng(o,i);var n={zoom:zoom,streetViewControl:!1,styles:[{stylers:[{visibility:"simplified"}]},{elementType:"labels",stylers:[{visibility:"off"}]}]};if(map=new google.maps.Map(e[0],n),window.map=map,places_service=new google.maps.places.PlacesService(map),navigator.geolocation&&"yes"===gmb_data.geolocate_setting&&""==i&&""==o?navigator.geolocation.getCurrentPosition(function(e){initial_location=new google.maps.LatLng(e.coords.latitude,e.coords.longitude),map.setCenter(initial_location),lat_field.val(e.coords.latitude),lng_field.val(e.coords.longitude),a.text(e.coords.latitude),t.text(e.coords.longitude)}):""!==o&&""!==i?map.setCenter(new google.maps.LatLng(o,i)):(initial_location=new google.maps.LatLng(gmb_data.default_lat,gmb_data.default_lng),lat_field.val(gmb_data.default_lat),lng_field.val(gmb_data.default_lng),a.text(gmb_data.default_lat),t.text(gmb_data.default_lng),map.setCenter(initial_location)),set_map_type(!1),"none"!==$("#gmb_theme").val()&&set_map_theme(),set_street_view(),set_pan_control(),set_draggable(),set_double_click_zoom(),set_mouse_wheel_scroll(),set_map_type_control(),set_map_zoom_control(),"undefined"==typeof autocomplete){var r=$("#gmb_geocoder");autocomplete=new google.maps.places.Autocomplete(r[0]),autocomplete.bindTo("bounds",map),google.maps.event.addDomListener(r[0],"keydown",function(e){13==e.keyCode&&e.preventDefault()}),google.maps.event.addListener(autocomplete,"place_changed",function(){return r.one("blur",function(){r.val("")}),setTimeout(function(){r.val("")},10),"undefined"!=typeof tentative_location_marker&&tentative_location_marker.setVisible(!1),$(".cmb2-id-gmb-geocoder").find(".gmb-modal-close").trigger("click"),$(".cmb2-id-gmb-geocoder").find(".mfp-close").trigger("click"),place=autocomplete.getPlace(),lat_field.val(place.geometry.location.lat()),lng_field.val(place.geometry.location.lng()),place.geometry?(map.setCenter(place.geometry.location),void add_tentative_marker(map,place.place_id)):void alert("Error: Place not found!")})}info_bubble=new google.maps.InfoWindow({maxWidth:315}),google.maps.event.addListenerOnce(map,"idle",function(){handle_map_zoom(map),add_markers(map),"undefined"!=typeof $(".cmb2-id-gmb-show-places input:radio").prop("checked")&&"yes"===$(".cmb2-id-gmb-show-places input:radio:checked").val()&&perform_places_search()}),google.maps.event.addListener(map,"zoom_changed",function(){handle_map_zoom(map)})}function add_tentative_marker(e,a){var t=e.getCenter();tentative_location_marker=new google.maps.Marker({map:e,title:"Map Icons",animation:google.maps.Animation.DROP,position:new google.maps.LatLng(t.lat(),t.lng()),icon:new google.maps.MarkerImage(gmb_data.plugin_url+"assets/img/default-icon-green-no-dot.png"),zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1});var o=google.maps.event.addListener(tentative_location_marker,"mouseover",function(e){add_circle(a)}),i=google.maps.event.addListener(tentative_location_marker,"mouseout",function(e){hover_circle.setVisible(!1)});google.maps.event.addListener(tentative_location_marker,"click",function(){google.maps.event.removeListener(o),google.maps.event.removeListener(i),hover_circle.setVisible(!0),add_tenative_info_window(a,tentative_location_marker)}),tentative_location_marker.setVisible(!0),e.setZoom(zoom)}function add_tenative_info_window(e,a){var t={key:gmb_data.api_key,placeId:e};places_service.getDetails(t,function(e,t){if(t==google.maps.places.PlacesServiceStatus.OK){var o=e.geometry.location.lat(),i=e.geometry.location.lng(),n='<p class="place-title">'+e.name+"</p>";n+=add_place_content_to_info_window(e),n+='<div class="infowindow-toolbar clear"><a href="#" class="add-marker" data-title="'+e.name+'" data-place_id="'+e.place_id+'" data-lat="'+o+'" data-lng="'+i+'">Add to Map</a></div>',n=set_info_window_wrapper(n),info_bubble.setContent(n),info_bubble.open(map,a),google.maps.event.addListener(info_bubble,"closeclick",function(){hover_circle.setVisible(!1)})}})}function add_place_content_to_info_window(e){var a;return a='<div class="marker-info-wrapper">',a+=e.formatted_address?'<div class="place-address">'+e.formatted_address+"</div>":"",a+=e.formatted_phone_number?'<div class="place-phone">'+e.formatted_phone_number+"</div>":"",a+=e.website?'<div class="place-website"><a href="'+e.website+'" target="_blank" rel="nofollow" title="Click to visit the '+e.name+' website">Website</a></div>':"",e.rating&&(a+='<div class="rating-wrap clear"><p class="numeric-rating">'+e.rating+'</p><div class="star-rating-wrap"><div class="star-rating-size" style="width:'+65*e.rating/5+'px;"></div></div></div>'),a+="</div>"}function get_editable_info_window(index,marker){info_bubble.close(),info_bubble.setContent('<div id="infobubble-content" class="loading"></div>'),info_bubble.open(map,marker);var info_window_data=get_info_window_saved_data(index),info_window_content;info_window_data.title||(info_window_data.title="Point "+index),info_window_data.title&&(info_window_content='<input class="edit-place-title" data-field="#gmb_markers_group_'+index+'_title" type="text" value="'+info_window_data.title+'">'),info_window_content+=info_window_data.desc?'<textarea class="edit-place-description" data-field="#gmb_markers_group_'+index+'_description">'+info_window_data.desc+"</textarea>":'<textarea class="edit-place-description" data-field="#gmb_markers_group_'+index+'_description"></textarea>',info_window_content+='<div class="infowindow-toolbar clear"><ul id="save-toolbar"><li class="info-window-save"><div class="google-btn-blue google-btn google-save-btn" data-tooltip="Save changes" data-index="'+index+'">Save</div></li><li class="info-window-cancel"><div class="google-btn-default google-btn google-cancel-btn" data-tooltip="Cancel edit" data-index="'+index+'">Cancel</div></li></ul><span class="marker-edit-link-wrap" data-index="'+index+'"><a href="#" data-target="marker-icon-modal" data-tooltip="Change icon" data-mfp-src="#marker-icon-modal" class="marker-edit-link gmb-magnific-marker gmb-magnific-inline"></a></span></div>',info_window_content=set_info_window_wrapper(info_window_content),info_bubble.setContent(info_window_content),initialize_tooltips(),google.maps.event.addDomListener($(".google-save-btn")[0],"click",function(){var e=$(".edit-place-title").data("field"),a=$(".edit-place-title").val(),t=$(".edit-place-description").data("field"),o=$(".edit-place-description").val();$(e).val(a),$(t).val(o),get_info_window_content($(this).data("index"),marker),google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)}),$("#gmb_markers_group_"+index+"_title").parents(".cmb-repeatable-grouping").find(".cmb-remove-group-row").each(function(){google.maps.event.addDomListener($(this)[0],"click",function(){$(this).parents(".cmb-repeatable-grouping").data("index");info_bubble.close(),marker.setVisible(!1)})}),google.maps.event.addDomListener(info_bubble,"closeclick",function(){google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)}),google.maps.event.addDomListener($(".google-cancel-btn")[0],"click",function(){get_info_window_content($(this).data("index"),marker),google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)});var edit_marker_icon_button_click=google.maps.event.addDomListener($(".marker-edit-link-wrap")[0],"click",function(){$(".save-marker-button").attr("data-marker-index",$(this).data("index"))}),save_icon_listener=google.maps.event.addDomListener($(".save-marker-button")[0],"click",function(e){e.preventDefault();var marker_position=marker.getPosition(),marker_icon_data,marker_icon=$(this).data("marker"),marker_icon_color=$(this).data("marker-color"),label_color=$(this).data("label-color"),marker_label_inline_style="color:"+label_color+"; ";"MAP_PIN"===marker_icon?marker_label_inline_style+="font-size: 20px;position: relative; top: -3px;":"SQUARE_PIN"==marker_icon&&(marker_label_inline_style+="font-size: 20px;position: relative; top: 12px;");var marker_label_data='<i class="'+$(this).data("label")+'" style="'+marker_label_inline_style+'"></i>';"mapicons"==marker_icon||"upload"==marker_icon||"default"==marker_icon?(marker_icon_data=$(this).data("marker-image"),marker_label_data="",$("#gmb_markers_group_"+index+"_marker_img").val(marker_icon_data),$("#gmb_markers_group_"+index+"_marker","#gmb_markers_group_"+index+"_label").val("")):("MAP_PIN"==marker_icon||"SQUARE_PIN"==marker_icon)&&(marker_icon_data="{ path : "+marker_icon+', fillColor : "'+marker_icon_color+'", fillOpacity : 1, strokeColor : "", strokeWeight: 0, scale : 1 / 3 }',$("#gmb_markers_group_"+index+"_marker").val(marker_icon_data),$("#gmb_markers_group_"+index+"_label").val(marker_label_data),marker_icon_data=eval("("+marker_icon_data+")"),$("#gmb_markers_group_"+index+"_marker_img").val("")),marker.setMap(null),$("#gmb_markers_group_"+index+"_label").val(marker_label_data),marker=new Marker({position:marker_position,map:map,zIndex:9,icon:marker_icon_data,custom_label:marker_label_data}),google.maps.event.addListener(marker,"click",function(){get_info_window_content(index,marker)}),$(".icon, .marker-item").removeClass("marker-item-selected"),$(".marker-icon-row, .save-marker-icon").hide(),$(this).removeData("marker"),$(this).removeData("marker-color"),$(this).removeData("label"),$(this).removeData("label-color"),console.log("here"),console.log($(".magnific-builder").length),0===$(".magnific-builder").length?$.magnificPopup.close():$(".gmb-modal-close").trigger("click"),google.maps.event.removeListener(save_icon_listener),google.maps.event.removeListener(edit_marker_icon_button_click)})}function set_info_window_wrapper(e){var a='<div id="infobubble-content" class="main-place-infobubble-content">';return a+=e,a+="</div>"}function add_circle(e){hover_circle=new google.maps.Marker({position:tentative_location_marker.getPosition(),zIndex:google.maps.Marker.MAX_ZINDEX-1,optimized:!1,icon:{path:google.maps.SymbolPath.CIRCLE,scale:20,strokeWeight:3,strokeOpacity:.9,strokeColor:"#FFF",fillOpacity:.3,fillColor:"#FFF"},map:map}),google.maps.event.addListener(hover_circle,"click",function(){add_tenative_info_window(e,tentative_location_marker)}),google.maps.event.addListener(tentative_location_marker,"click",function(){hover_circle.setVisible(!0)})}function add_markers(map){clear_main_markers(),$("#gmb_markers_group_repeat").find(".cmb-repeatable-grouping").each(function(index){var marker_icon=gmb_data.default_marker,marker_label="",custom_marker_icon=$("#gmb_markers_group_"+index+"_marker").val(),custom_marker_img=$("#gmb_markers_group_"+index+"_marker_img").val();if(custom_marker_img)marker_icon=custom_marker_img;else if(custom_marker_icon.length>0&&custom_marker_icon.length>0){var custom_label=$("#gmb_markers_group_"+index+"_label").val();marker_icon=eval("("+custom_marker_icon+")"),marker_label=custom_label}var location_marker=new Marker({map:map,zIndex:9,icon:marker_icon,custom_label:marker_label}),marker_lat=$("#gmb_markers_group_"+index+"_lat").val(),marker_lng=$("#gmb_markers_group_"+index+"_lng").val();location_marker.setPosition(new google.maps.LatLng(marker_lat,marker_lng)),location_marker.setVisible(!0),google.maps.event.addListener(location_marker,"click",function(){get_info_window_content(index,location_marker)}),$("#gmb_markers_group_"+index+"_title").parents(".cmb-repeatable-grouping").find(".cmb-remove-group-row").each(function(){google.maps.event.addDomListener($(this)[0],"click",function(){$(this).parents(".cmb-repeatable-grouping").data("index");info_bubble.close(),location_marker.setVisible(!1)})})})}function get_info_window_saved_data(e){var a={};return a.title=$("#gmb_markers_group_"+e+"_title").val(),a.desc=$("#gmb_markers_group_"+e+"_description").val(),a.reference=$("#gmb_markers_group_"+e+"_reference").val(),a.place_id=$("#gmb_markers_group_"+e+"_place_id").val(),a.lat=$("#gmb_markers_group_"+e+"_lat").val(),a.lng=$("#gmb_markers_group_"+e+"_lng").val(),a.hide_place_info=$("#gmb_markers_group_"+e+"_hide_details").prop("checked"),a}function get_info_window_content(e,a){info_bubble.close(),info_bubble.setContent('<div id="infobubble-content" class="loading"></div>'),info_bubble.open(map,a);var t=get_info_window_saved_data(e),o='<p class="place-title">'+t.title+"</p>";if(o+='<div class="place-description">'+t.desc+"</div>",t.place_id&&t.hide_place_info===!1){var i={key:gmb_data.api_key,placeId:t.place_id};places_service.getDetails(i,function(t,i){i==google.maps.places.PlacesServiceStatus.OK&&(o+=add_place_content_to_info_window(t),o+=set_marker_edit_icons(e),add_edit_events(o,a))})}else o+=set_marker_edit_icons(e),add_edit_events(o,a)}function add_edit_events(e,a){e=set_info_window_wrapper(e),info_bubble.setContent(e),initialize_tooltips(),google.maps.event.addDomListener($(".edit-info")[0],"click",function(){get_editable_info_window($(this).data("index"),a)}),google.maps.event.addDomListener($(".trash-marker")[0],"click",function(){var e=$(this).data("index");$('div[data-iterator="'+e+'"] ').find("input,textarea").val(""),$('div[data-iterator="'+e+'"]').find(".cmb-remove-group-row").trigger("click"),info_bubble.close(),a.setVisible(!1)})}function get_marker_index(){var e=parseInt($("#gmb_markers_group_repeat div.cmb-repeatable-grouping").last().attr("data-iterator")),a=$('div[data-iterator="0"] ').find("input,textarea").val();return a&&0===e?($(".cmb-add-group-row.button").trigger("click"),e=1):0!==e&&($(".cmb-add-group-row.button").trigger("click"),e=parseInt($("#gmb_markers_group_repeat div.cmb-repeatable-grouping").last().attr("data-iterator"))),e}function get_place_info_window_content(e,a){info_bubble.setContent('<div id="infobubble-content" class="loading"></div>'),info_bubble.open(map,a);var t={key:gmb_data.api_key,placeId:e.place_id};places_service.getDetails(t,function(e,a){if(a==google.maps.places.PlacesServiceStatus.OK){var t;t='<p class="place-title">'+e.name+"</p>",t+=add_place_content_to_info_window(e),t=set_info_window_wrapper(t),info_bubble.setContent(t),initialize_tooltips()}else info_bubble.setContent('<p class="place-error">Google API Error: '+a+"</p>")})}function get_places_type_array(){var e=[];return $('.cmb2-id-gmb-places-search-multicheckbox input[type="checkbox"]').each(function(){$(this).is(":checked")&&e.push($(this).val())}),e}function perform_places_search(){$(".places-loading").fadeIn(),$(".warning-message").hide().empty();var e=get_places_type_array();if(clear_search_markers(),e.length>0){var a={key:gmb_data.api_key,location:return_lat_lng(),types:e,radius:parseInt($("#gmb_search_radius").val())};places_service.nearbySearch(a,places_search_callback)}else show_warning_message("<strong>Notice: No Place Types are selected</strong><br/> Please select the types of places you would like to display on this map using the Place Type field checkboxes found below.")}function show_warning_message(e){$(".wpgp-loading").fadeOut(),$(".warning-message").empty().append("<p>"+e+"</p>").fadeIn()}function return_lat_lng(){var e=map.getCenter(),a=new google.maps.LatLng(e.lat(),e.lng());return a}function handle_map_zoom(e){var a=e.getZoom();$("#gmb_zoom").val(a),$("#gmb_zoom").on("change",function(){e.setZoom(parseInt($(this).val()))})}function lat_lng_field_change(e){var a=new google.maps.LatLng($(lat_field).val(),$(lng_field).val());e.panTo(a)}function places_search_callback(e,a,t){var o,i=0;if(a==google.maps.places.PlacesServiceStatus.OK){for(i=0;o=e[i];i++)create_search_result_marker(e[i]);t.hasNextPage?t.nextPage():$(".places-loading").fadeOut()}}function create_search_result_marker(e){var a=new Marker({map:map,zIndex:0,optimized:!1});a.setIcon({url:e.icon,size:new google.maps.Size(24,24),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17,34),scaledSize:new google.maps.Size(24,24)}),a.setPosition(e.geometry.location),a.setVisible(!0),google.maps.event.addListener(a,"click",function(){get_place_info_window_content(e,a)}),search_markers.push(a)}function clear_main_markers(){for(var e=0;e<location_marker_array.length;e++)location_marker_array[e].setMap(null);for(location_marker_array.length=0,e=0;e<info_bubble_array.length;e++)info_bubble_array[e].close(),google.maps.event.trigger(info_bubble_array[e],"closeclick");info_bubble_array.length=0}function clear_search_markers(){for(var e=0;e<search_markers.length;e++)search_markers[e].setMap(null);search_markers=[]}function scroll_to_field(e){$("html, body").animate({scrollTop:parseInt($(e).offset().top)},600)}function calc_radius(e,a){radius_marker=new Marker({position:e.getCenter(),map:e,icon:{path:MAP_PIN,fillColor:"#0E77E9",fillOpacity:0,strokeColor:"",strokeWeight:0,scale:.25},custom_label:'<i class="map-icon-crosshairs radius-label"></i>',zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1}),radius_circle=new google.maps.Circle({map:e,fillColor:"#BBD8E9",fillOpacity:.3,radius:a,strokeColor:"#BBD8E9",strokeOpacity:.9,strokeWeight:2}),radius_circle.bindTo("center",radius_marker,"position")}function toggle_metabox_fields(){var e=$(".cmb2-id-gmb-show-places input:radio");e.prop("checked")&&($(".cmb2-id-gmb-search-radius").toggle(),$(".cmb2-id-gmb-places-search-multicheckbox").toggle()),e.prop("checked")||$("#gmb_show_places2").prop("checked",!0),$(".cmb2-id-gmb-show-places li input:radio").on("click",function(){$(this).find("input:radio").prop("checked",!0),"no"===$(this).val()?(clear_search_markers(),$(".cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox").hide()):(perform_places_search(),$(".cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox").show())})}function set_map_zoom_control(){var e=$("#gmb_zoom_control").val().toLowerCase();map.setOptions("none"==e?{zoomControl:!1}:{zoomControl:!0,zoomControlOptions:{style:google.maps.ZoomControlStyle[e]}})}function set_map_type_control(){var e=$("#gmb_map_type_control").val().toLowerCase();map.setOptions("none"==e?{mapTypeControl:!1}:{mapTypeControl:!0,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle[e]}})}function set_mouse_wheel_scroll(){var e=$("#gmb_wheel_zoom").val();map.setOptions("none"===e?{scrollwheel:!1}:{scrollwheel:!0})}function set_double_click_zoom(){var e=$("#gmb_double_click").val();map.setOptions("none"===e?{disableDoubleClickZoom:!0}:{disableDoubleClickZoom:!1})}function set_draggable(){var e=$("#gmb_draggable").val();map.setOptions("none"==e?{draggable:!1}:{draggable:!0})}function set_pan_control(){var e=$("#gmb_pan").val();map.setOptions("none"===e?{panControl:!1}:{panControl:!0})}function set_street_view(){var e=$("#gmb_street_view").val();map.setOptions("none"===e?{streetViewControl:!1}:{streetViewControl:!0})}function set_map_type(e){e===!0&&($("#gmb_theme").val("none"),$("#gmb_theme_json").val("none"));var a=$("#gmb_type").val().toUpperCase();map.setOptions({mapTypeId:google.maps.MapTypeId[a],styles:!1})}function set_map_theme(){var preset_theme=$("#gmb_theme"),custom_theme_json=$("#gmb_theme_json"),map_type_select_field=$("#gmb_type"),map_theme_input_val=parseInt(preset_theme.val());"none"!==preset_theme.val()?map_type_select_field.val("RoadMap"):custom_theme_json.val(""),$.getJSON(gmb_data.snazzy,function(data){"none"===preset_theme.val()&&set_map_type(),$.each(data,function(index){data[index].id===map_theme_input_val&&(map_theme_input_val=eval(data[index].json),custom_theme_json.val(data[index].json))}),map.setOptions({mapTypeId:google.maps.MapTypeId.ROADMAP,styles:map_theme_input_val})})}function set_map_marker_icon(){var e=$(".marker-icon-row"),a=$(".marker-icon-modal"),t=a.find(".save-marker-icon"),o=a.find(".save-marker-button");$(".marker-item").on("click",function(){var a=$(this).data("marker"),t=$(this).data("toggle");$(".marker-item").removeClass("marker-item-selected"),$(this).addClass("marker-item-selected"),o.attr("data-marker",a),e.hide(),$("."+t).slideDown()}),$(".maps-icon").on("click",function(){$(".maps-icon").removeClass("marker-item-selected"),t.slideDown(),$(this).addClass("marker-item-selected"),o.data("marker-image",$(this).find("img").attr("src"))}),$(".icon").on("click",function(){$(".icon").removeClass("marker-item-selected"),$(this).addClass("marker-item-selected"),$(".save-marker-icon, .marker-label-color-wrap").slideDown(),o.attr("data-label",$(this).find("span").attr("class"))});var i={change:function(e,a){var t=a.color.toString();$(this).hasClass("marker-color")===!0?($(".save-marker-button").attr("data-marker-color",t),$(".marker-svg polygon, .marker-svg path").attr("fill",t)):$(this).hasClass("label-color")===!0&&($(".save-marker-button").attr("data-label-color",t),$(".icon-inner span").css("color",t))},clear:function(){},hide:!0,palettes:!0};$(".color-picker").wpColorPicker(i)}function set_marker_edit_icons(e){return'<div class="infowindow-toolbar"><ul id="edit-toolbar"><li class="edit-info" data-index="'+e+'" data-tooltip="'+gmb_data.i18n.btn_edit_marker+'"></li><li class="trash-marker" data-index="'+e+'" data-tooltip="'+gmb_data.i18n.btn_delete_marker+'"></li></ul></div>'}function initialize_tooltips(){$('[data-tooltip!=""]').qtip({content:{attr:"data-tooltip"},hide:{fixed:!0,delay:100},position:{my:"top center",at:"bottom center"},style:{classes:"qtip-tipsy"},show:{when:{event:"focus"},effect:function(){$(this).fadeIn(200)}}})}$(window).load(function(){toggle_metabox_fields(),initialize_tooltips(),initialize_map($("#map")),$("#gmb_lat_lng-latitude").on("change",function(){lat_lng_field_change(map)}),$("#gmb_lat_lng-longitude").on("change",function(){lat_lng_field_change(map)}),$(".drop-marker").on("click",function(e){if(e.preventDefault(),$(this).hasClass("active"))$(this).html(gmb_data.i18n.btn_drop_marker).removeClass("active"),map.setOptions({draggableCursor:null});else{$(this).html(gmb_data.i18n.btn_drop_marker_click).addClass("active"),map.setOptions({draggableCursor:"crosshair"});var a=google.maps.event.addListener(map,"click",function(e){drop_marker(e.latLng,a)})}});var e;$("#gmb_search_radius").on("focus",function(){google.maps.event.trigger(map,"resize"),e=$(this).val(),calc_radius(map,parseInt($(this).val()))}).focusout(function(){e!==$(this).val()&&perform_places_search(),radius_circle.setMap(null),radius_marker.setMap(null)}),$('[name^="gmb_places_search_multicheckbox"]').on("change",function(){0===$(".places-change-message").length&&($(".cmb2-id-gmb-places-search-multicheckbox ul").prepend('<div class="wpgp-message places-change-message clear"><p>'+gmb_data.i18n.places_selection_changed+'</p><a href="#" class="button update-places-map">'+gmb_data.i18n.set_place_types+"</a></div>"),$(".places-change-message").slideDown())}),$(".cmb-multicheck-toggle").on("click",function(){0===$(".places-change-message").length&&($(".cmb2-id-gmb-places-search-multicheckbox ul").prepend('<div class="wpgp-message places-change-message clear"><p>'+gmb_data.i18n.places_selection_changed+'</p><a href="#" class="button update-places-map">'+gmb_data.i18n.set_place_types+"</a></div>"),$(".places-change-message").slideDown())}),$(document).on("click",".update-places-map",function(e){e.preventDefault(),scroll_to_field("#google_maps_preview_metabox"),perform_places_search(),$(this).parent().fadeOut(function(){$(this).remove()})}),$(".lat-lng-update-btn, .update-lat-lng").on("click",function(e){e.preventDefault(),$(this).attr("disabled","disabled"),$(".lat-lng-change-message").slideUp(),$("#gmb_lat_lng-latitude").val($(this).attr("data-lat")),$("#gmb_lat_lng-longitude").val($(this).attr("data-lng"))}),$(document).on("click",".add-marker",function(e){e.preventDefault(),hover_circle.setVisible(!1);var a=new google.maps.Marker({position:tentative_location_marker.getPosition(),map:map,icon:gmb_data.default_marker,zIndex:google.maps.Marker.MAX_ZINDEX+1,optimized:!1});tentative_location_marker.setVisible(!1);var t=get_marker_index(),o=$(this).data("place_id");get_editable_info_window(t,a),$('input[data-field="#gmb_markers_group_'+t+'_title"]').val($(this).data("title")),$("input#gmb_markers_group_"+t+"_lat").val($(this).data("lat")),$("input#gmb_markers_group_"+t+"_lng").val($(this).data("lng")),$("input#gmb_markers_group_"+t+"_place_id").val(o),google.maps.event.addListener(a,"click",function(){get_info_window_content(t,a)})}),set_map_marker_icon(),$("#gmb_type").change(function(){set_map_type(!0)}),$("#gmb_theme").change(function(){set_map_theme()}),$("#gmb_street_view").change(function(){set_street_view()}),$("#gmb_pan").change(function(){set_pan_control()}),$("#gmb_draggable").change(function(){set_draggable()}),$("#gmb_double_click").change(function(){set_double_click_zoom()}),$("#gmb_wheel_zoom").change(function(){set_mouse_wheel_scroll()}),$("#gmb_map_type_control").change(function(){set_map_type_control()}),$("#gmb_zoom_control").change(function(){set_map_zoom_control()}),$(".cmb-repeatable-grouping").addClass("closed"),$(".toggle-repeater-groups").on("click",function(e){e.preventDefault(),$("#gmb_markers_group_repeat .cmb-repeatable-grouping").toggleClass("closed")}),$(window).on("resize",function(){google.maps.event.trigger(map,"resize")})});var map,places_service,lat_lng,zoom,lat_field,lng_field,radius_circle,radius_marker,place,autocomplete,info_bubble,info_bubble_array=[],tentative_location_marker,location_marker,location_marker_array=[],search_markers=[],hover_circle,initial_location,delay=function(){var e=0;return function(a,t){clearTimeout(e),e=setTimeout(a,t)}}()}(jQuery);
assets/js/admin/admin-maps-controls.js ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Maps Directions
3
+ *
4
+ * @description: Adds directions functionality to the maps builder
5
+ * @copyright: http://opensource.org/licenses/gpl-2.0.php GNU Public License
6
+ * @since: 2.0
7
+ */
8
+
9
+ var gmb_data;
10
+ var gmb_upload_marker;
11
+ var trafficLayer = new google.maps.TrafficLayer();
12
+ var transitLayer = new google.maps.TransitLayer();
13
+ var bicycleLayer = new google.maps.BicyclingLayer();
14
+ var placeSearchAutocomplete;
15
+
16
+ (function ( $ ) {
17
+
18
+ "use strict";
19
+
20
+ /**
21
+ * Kick it off on Window Load
22
+ */
23
+ $( window ).on( 'load', function () {
24
+
25
+ set_map_goto_location_autocomplete();
26
+ set_map_edit_title();
27
+
28
+ //Set lng and lat when map dragging
29
+ google.maps.event.addListener( map, 'drag', function () {
30
+ set_toolbar_lat_lng();
31
+ } );
32
+ //Set lng and lat when map dragging
33
+ google.maps.event.addListener( map, 'dragend', function () {
34
+ set_toolbar_lat_lng();
35
+ } );
36
+
37
+ //Set lng and lat when map dragging
38
+ google.maps.event.addListener( map, 'zoom_changed', function () {
39
+ set_toolbar_lat_lng();
40
+ } );
41
+
42
+ //Initialize Magnific/Modal Functionality Too
43
+ $( 'body' ).on( 'click', '.gmb-magnific-inline', function ( e ) {
44
+
45
+ e.preventDefault();
46
+ var target = '.' + $( this ).data( 'target' ); //target element class name
47
+ var autofocus = $( this ).data( 'auto-focus' ); //autofocus option
48
+
49
+ //Modal in modal?
50
+ //We can't have a magnific inside magnific so CSS3 modal it is
51
+ if ( $.magnificPopup.instance.isOpen === true ) {
52
+
53
+ //Open CSS modal
54
+ $( target ).before( '<div class="modal-placeholder"></div>' ) // Save a DOM "bookmark"
55
+ .removeClass( 'mfp-hide' ) //ensure it's visible
56
+ .appendTo( '.magnific-builder #poststuff' ); // Move the element to container
57
+
58
+ //Check if wrapped properly
59
+ var inner_wrap = $( target ).find( '.inner-modal-wrap' );
60
+ var inner_wrap_container = $( target ).find( '.inner-modal-container' );
61
+
62
+ //Not wrapped, wrap it
63
+ if ( inner_wrap.length == 0 && inner_wrap_container.length == 0 ) {
64
+
65
+ $( target ).addClass( 'white-popup' ).wrapInner( '<div class="inner-modal-wrap"><div class="inner-modal-container"><div class="inner-modal clearfix"></div></div></div>' );
66
+ $( '<button type="button" class="gmb-modal-close">&times;</button>' ).prependTo( $( target ).find( '.inner-modal' ) );
67
+ }
68
+
69
+ //Add close functionality to outside overlay
70
+ $( target ).on( 'click', function ( e ) {
71
+ //only on overlay
72
+ if ( $( e.target ).hasClass( 'inner-modal-wrap' ) || $( e.target ).hasClass( 'inner-modal-container' ) ) {
73
+ // Move back out of container
74
+ close_modal_within_modal( target );
75
+ }
76
+ } );
77
+ //Close button
78
+ $( '.gmb-modal-close' ).on( 'click', function () {
79
+ close_modal_within_modal( target );
80
+ } );
81
+
82
+ //Autofocus
83
+ if ( autofocus == true ) {
84
+ $( target ).find( 'input[type="text"]' ).focus();
85
+ }
86
+
87
+ }
88
+ //Normal modal open
89
+ else {
90
+ $.magnificPopup.open( {
91
+ callbacks: {
92
+ beforeOpen: function () {
93
+ $( target ).addClass( 'white-popup' );
94
+ }
95
+ },
96
+ items : {
97
+ src : $( target ),
98
+ type: 'inline'
99
+ },
100
+ midClick : true
101
+ } );
102
+ }
103
+ } );
104
+
105
+
106
+ } );
107
+
108
+
109
+ /**
110
+ * Goto Location Autocomplete
111
+ */
112
+ function set_map_goto_location_autocomplete() {
113
+ var modal = $( '.map-autocomplete-wrap' );
114
+ var input = $( '#map-location-autocomplete' ).get( 0 );
115
+ var location_autocomplete = new google.maps.places.Autocomplete( input );
116
+ location_autocomplete.bindTo( 'bounds', map );
117
+
118
+ google.maps.event.addListener( location_autocomplete, 'place_changed', function () {
119
+
120
+ var place = location_autocomplete.getPlace();
121
+ if ( !place.geometry ) {
122
+ window.alert( "Autocomplete's returned place contains no geometry" );
123
+ return;
124
+ }
125
+
126
+ // If the place has a geometry, then present it on a map.
127
+ if ( place.geometry.viewport ) {
128
+ map.fitBounds( place.geometry.viewport );
129
+ } else {
130
+ map.setCenter( place.geometry.location );
131
+ map.setZoom( 17 ); // Why 17? Because it looks good.
132
+ }
133
+
134
+ //Close modal
135
+ $( modal ).find( '.mfp-close' ).trigger( 'click' );
136
+ close_modal_within_modal( modal );
137
+
138
+ } );
139
+
140
+ //Tame the enter key to not save the widget while using the autocomplete input
141
+ google.maps.event.addDomListener( input, 'keydown', function ( e ) {
142
+ if ( e.keyCode == 13 ) {
143
+ e.preventDefault();
144
+ }
145
+ } );
146
+
147
+ }
148
+
149
+ /**
150
+ * Close a Modal within Modal
151
+ *
152
+ * @param modal
153
+ */
154
+ function close_modal_within_modal( modal ) {
155
+ // Move back out of container
156
+ $( modal )
157
+ .addClass( 'mfp-hide' ) //ensure it's hidden
158
+ .appendTo( '.modal-placeholder' ) // Move it back to it's proper location
159
+ .unwrap(); // Remove the placeholder
160
+ }
161
+
162
+
163
+ /**
164
+ * Edit Title within Modal
165
+ */
166
+ function set_map_edit_title() {
167
+
168
+ //When edit title button is clicked insert title into feax input
169
+ $( '.edit-title' ).on( 'click', function () {
170
+ $( '#modal_title' ).val( $( 'input#title' ).val() );
171
+ } );
172
+
173
+ //when feax title input is changed update default title field
174
+ $( '#modal_title' ).on( 'blur', function () {
175
+ $( 'input#title' ).val( $( this ).val() );
176
+ } );
177
+
178
+ }
179
+
180
+
181
+ /**
182
+ * Update Toolbar Lat/Lng
183
+ */
184
+ function set_toolbar_lat_lng() {
185
+
186
+ var lat_lng_sidebar_btn = $( '.lat-lng-update-btn' );
187
+ var lat_lng_toolbar_btn = $( '.update-lat-lng' );
188
+
189
+ var map_center = map.getCenter();
190
+ $( '.live-latitude' ).text( map_center.lat() );
191
+ $( '.live-longitude' ).text( map_center.lng() );
192
+ lat_lng_toolbar_btn.attr( 'data-lat', map_center.lat() );
193
+ $( '.lat-lng-change-message' ).slideDown();
194
+
195
+ lat_lng_toolbar_btn.attr( 'data-lng', map_center.lng() );
196
+ lat_lng_sidebar_btn.attr( 'data-lat', map_center.lat() );
197
+ lat_lng_sidebar_btn.attr( 'data-lng', map_center.lng() );
198
+
199
+ lat_lng_sidebar_btn.removeAttr( 'disabled' );
200
+ lat_lng_toolbar_btn.removeAttr( 'disabled' );
201
+
202
+ }
203
+
204
+
205
+ }( jQuery ));
assets/js/admin/admin-maps-controls.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var gmb_data,gmb_upload_marker,trafficLayer=new google.maps.TrafficLayer,transitLayer=new google.maps.TransitLayer,bicycleLayer=new google.maps.BicyclingLayer,placeSearchAutocomplete;!function(e){"use strict";function a(){var a=e(".map-autocomplete-wrap"),n=e("#map-location-autocomplete").get(0),o=new google.maps.places.Autocomplete(n);o.bindTo("bounds",map),google.maps.event.addListener(o,"place_changed",function(){var n=o.getPlace();return n.geometry?(n.geometry.viewport?map.fitBounds(n.geometry.viewport):(map.setCenter(n.geometry.location),map.setZoom(17)),e(a).find(".mfp-close").trigger("click"),void t(a)):void window.alert("Autocomplete's returned place contains no geometry")}),google.maps.event.addDomListener(n,"keydown",function(e){13==e.keyCode&&e.preventDefault()})}function t(a){e(a).addClass("mfp-hide").appendTo(".modal-placeholder").unwrap()}function n(){e(".edit-title").on("click",function(){e("#modal_title").val(e("input#title").val())}),e("#modal_title").on("blur",function(){e("input#title").val(e(this).val())})}function o(){var a=e(".lat-lng-update-btn"),t=e(".update-lat-lng"),n=map.getCenter();e(".live-latitude").text(n.lat()),e(".live-longitude").text(n.lng()),t.attr("data-lat",n.lat()),e(".lat-lng-change-message").slideDown(),t.attr("data-lng",n.lng()),a.attr("data-lat",n.lat()),a.attr("data-lng",n.lng()),a.removeAttr("disabled"),t.removeAttr("disabled")}e(window).on("load",function(){a(),n(),google.maps.event.addListener(map,"drag",function(){o()}),google.maps.event.addListener(map,"dragend",function(){o()}),google.maps.event.addListener(map,"zoom_changed",function(){o()}),e("body").on("click",".gmb-magnific-inline",function(a){a.preventDefault();var n="."+e(this).data("target"),o=e(this).data("auto-focus");if(e.magnificPopup.instance.isOpen===!0){e(n).before('<div class="modal-placeholder"></div>').removeClass("mfp-hide").appendTo(".magnific-builder #poststuff");var i=e(n).find(".inner-modal-wrap"),l=e(n).find(".inner-modal-container");0==i.length&&0==l.length&&(e(n).addClass("white-popup").wrapInner('<div class="inner-modal-wrap"><div class="inner-modal-container"><div class="inner-modal clearfix"></div></div></div>'),e('<button type="button" class="gmb-modal-close">&times;</button>').prependTo(e(n).find(".inner-modal"))),e(n).on("click",function(a){(e(a.target).hasClass("inner-modal-wrap")||e(a.target).hasClass("inner-modal-container"))&&t(n)}),e(".gmb-modal-close").on("click",function(){t(n)}),1==o&&e(n).find('input[type="text"]').focus()}else e.magnificPopup.open({callbacks:{beforeOpen:function(){e(n).addClass("white-popup")}},items:{src:e(n),type:"inline"},midClick:!0})})})}(jQuery);
assets/js/admin/admin-maps-magnific.js ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Google Maps in Magnific
3
+ *
4
+ * @since 2.0
5
+ */
6
+ var gmb_data;
7
+ (function ( $ ) {
8
+
9
+ "use strict";
10
+
11
+ $( document ).ready( function () {
12
+
13
+ var poststuff = $( 'form#post' ),
14
+ postboxes = $( '.postbox' ).not( '.cmb-row, .cmb-repeatable-grouping' ),
15
+ map = $( '#map' ),
16
+ submit_btn = '<input type="submit" class="button button-primary button-large magnific-submit" id="gmb-publish" value="' + gmb_data.i18n.update_map + '" >',
17
+ placeholder_id,
18
+ placeholder_gid = 0,
19
+ viewport = $( window ).height() - 40;
20
+
21
+ $( '#map-builder' ).on( 'click', function ( e ) {
22
+ e.preventDefault();
23
+ magnific_builder();
24
+ } );
25
+
26
+ //Open by default?
27
+ if ( gmb_data.modal_default === 'true' ) {
28
+ magnific_builder();
29
+ }
30
+
31
+
32
+ function magnific_builder() {
33
+
34
+ //Initialize Magnific Too
35
+ $.magnificPopup.open( {
36
+
37
+ callbacks: {
38
+
39
+ beforeOpen: function () {
40
+
41
+ lightbox_resize();
42
+
43
+ //Add save button
44
+ if ( $( '.magnific-submit' ).length === 0 ) {
45
+ $( '.magnific-builder #postbox-container-1' ).append( submit_btn );
46
+ }
47
+
48
+ //Move metaboxes to sidebar and hide other none-GMB metaboxes in Magnific modal
49
+ postboxes.each( function ( index, value ) {
50
+
51
+ var postbox = $( this );
52
+ var postbox_id = postbox.attr( 'id' );
53
+
54
+ //Check that this is a GMB metabox
55
+ if ( typeof postbox_id !== 'undefined' && postbox_id.match( /^\google_maps/ ) ) {
56
+
57
+ //Move metaboxes to the sidebar
58
+ var parent = postbox.parent();
59
+
60
+ gmb_close_metaboxes( postbox );
61
+
62
+ //Only move and close if not in sidebar & not the map preview
63
+ if ( parent.attr( 'id' ) == 'normal-sortables' && postbox.attr( 'id' ) !== 'google_maps_preview_metabox' ) {
64
+ placeholder_id = 'placeholder-' + placeholder_gid++;
65
+
66
+ //Move em
67
+ postbox.before( '<div class="placeholder ' + placeholder_id + '"></div>' ) // Save a DOM "bookmark"
68
+ .appendTo( '#side-sortables' ) // Move the element to container
69
+ .data( 'placeholder', placeholder_id ); // Store it's placeholder's info
70
+
71
+ }
72
+
73
+
74
+ } else {
75
+ //hide non GMB metaboxes
76
+ $( this ).addClass( 'mfp-hide' );
77
+ }
78
+
79
+ //Disable metabox dragging/sorting
80
+ if ( typeof $.fn.sortable !== 'undefined' ) {
81
+ $( '.meta-box-sortables' ).sortable( {
82
+ disabled: true
83
+ } );
84
+ }
85
+
86
+ } );
87
+
88
+
89
+ },
90
+ open : function () {
91
+ google.maps.event.trigger( window.map, 'resize' ); //Refresh Google Map
92
+ },
93
+ resize : function () {
94
+ if ( $.magnificPopup.instance.isOpen === true ) {
95
+ lightbox_resize();
96
+ }
97
+ },
98
+ close : function () {
99
+ postboxes.removeClass( 'mfp-hide' );
100
+ poststuff.removeClass( 'mfp-hide' );
101
+ poststuff.removeClass( 'magnific-builder' );
102
+ $( '#postbox-container-1' ).outerHeight( '' );
103
+
104
+ //reenable metabox dragging/sorting
105
+ if ( typeof $.fn.sortable !== 'undefined' ) {
106
+ $( '.meta-box-sortables' ).sortable( {
107
+ disabled: false
108
+ } );
109
+ }
110
+
111
+ //Move back metaboxes to original positions
112
+ postboxes.each( function ( index, value ) {
113
+
114
+ // Move back out of container
115
+ $( this )
116
+ .appendTo( '.placeholder.' + $( this ).data( 'placeholder' ) ) // Move it back to it's proper location
117
+ .unwrap() // Remove the placeholder
118
+ .data( 'placeholder', undefined ); // Unset placeholder data
119
+
120
+ } );
121
+
122
+ //Refresh Google Maps view
123
+ google.maps.event.trigger( window.map, 'resize' ); //refresh map to get exact center
124
+ }
125
+ },//end callbacks
126
+ items : {
127
+ src : poststuff,
128
+ type: 'inline'
129
+ },
130
+ midClick : true
131
+ } );
132
+
133
+ }
134
+
135
+ /**
136
+ * Close and toggle metaboxes
137
+ * @param postbox
138
+ */
139
+ function gmb_close_metaboxes( postbox ) {
140
+ if ( postbox.attr( 'id' ) === 'google_maps_preview_metabox' ) {
141
+ //ensure Gmap metabox always is open
142
+ postbox.removeClass( 'closed' );
143
+ } else {
144
+ //Close all other GMB metaboxes by default
145
+ postbox.addClass( 'closed' );
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Window/Lightbox Resize
151
+ *
152
+ * @description: Resizes modal elements as the browser resizes & refreshes Google Maps
153
+ * @since 2.0
154
+ */
155
+ function lightbox_resize() {
156
+ poststuff.addClass( 'magnific-builder' ).height( viewport );
157
+ $( '#map' ).height( viewport );
158
+ $( '#postbox-container-1' ).outerHeight( viewport );
159
+ }
160
+
161
+ //Form Modal Submit button
162
+ $( 'body' ).on( 'click', '.magnific-submit', function ( e ) {
163
+ e.preventDefault();
164
+ $( '#post_status' ).val( 'Publish' );
165
+ jQuery( '#publish' ).click();
166
+ } );
167
+
168
+ } );
169
+ }( jQuery ));
assets/js/admin/admin-maps-magnific.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var gmb_data;!function(e){"use strict";e(document).ready(function(){function a(){e.magnificPopup.open({callbacks:{beforeOpen:function(){i(),0===e(".magnific-submit").length&&e(".magnific-builder #postbox-container-1").append(l),s.each(function(a,i){var n=e(this),s=n.attr("id");if("undefined"!=typeof s&&s.match(/^\google_maps/)){var l=n.parent();t(n),"normal-sortables"==l.attr("id")&&"google_maps_preview_metabox"!==n.attr("id")&&(o="placeholder-"+r++,n.before('<div class="placeholder '+o+'"></div>').appendTo("#side-sortables").data("placeholder",o))}else e(this).addClass("mfp-hide");"undefined"!=typeof e.fn.sortable&&e(".meta-box-sortables").sortable({disabled:!0})})},open:function(){google.maps.event.trigger(window.map,"resize")},resize:function(){e.magnificPopup.instance.isOpen===!0&&i()},close:function(){s.removeClass("mfp-hide"),n.removeClass("mfp-hide"),n.removeClass("magnific-builder"),e("#postbox-container-1").outerHeight(""),"undefined"!=typeof e.fn.sortable&&e(".meta-box-sortables").sortable({disabled:!1}),s.each(function(a,t){e(this).appendTo(".placeholder."+e(this).data("placeholder")).unwrap().data("placeholder",void 0)}),google.maps.event.trigger(window.map,"resize")}},items:{src:n,type:"inline"},midClick:!0})}function t(e){"google_maps_preview_metabox"===e.attr("id")?e.removeClass("closed"):e.addClass("closed")}function i(){n.addClass("magnific-builder").height(d),e("#map").height(d),e("#postbox-container-1").outerHeight(d)}var o,n=e("form#post"),s=e(".postbox").not(".cmb-row, .cmb-repeatable-grouping"),l=(e("#map"),'<input type="submit" class="button button-primary button-large magnific-submit" id="gmb-publish" value="'+gmb_data.i18n.update_map+'" >'),r=0,d=e(window).height()-40;e("#map-builder").on("click",function(e){e.preventDefault(),a()}),"true"===gmb_data.modal_default&&a(),e("body").on("click",".magnific-submit",function(a){a.preventDefault(),e("#post_status").val("Publish"),jQuery("#publish").click()})})}(jQuery);
{admin/assets/js → assets/js/admin}/admin-settings.js RENAMED
@@ -1,5 +1,5 @@
1
  /**
2
- * Google Maps Builder Settings JS
3
  */
4
  (function ( $ ) {
5
  "use strict";
@@ -37,10 +37,13 @@
37
  } );
38
 
39
  //Default setting for Has Archive Inline Radio
40
- if ( $( '#gmb_has_archive1' ).prop( 'checked' ) === false && $( '#gmb_has_archive2' ).prop( 'checked' ) === 'false' ) {
41
  $( '#gmb_has_archive1' ).prop( 'checked', true );
42
  }
43
-
 
 
 
44
 
45
  //Label Click Helper
46
  $( 'input:radio + label' ).on( 'click', function () {
1
  /**
2
+ * Maps Builder Settings JS
3
  */
4
  (function ( $ ) {
5
  "use strict";
37
  } );
38
 
39
  //Default setting for Has Archive Inline Radio
40
+ if ( $( '#gmb_has_archive1' ).prop( 'checked' ) === false && $( '#gmb_has_archive2' ).prop( 'checked' ) === false ) {
41
  $( '#gmb_has_archive1' ).prop( 'checked', true );
42
  }
43
+ //Default setting for the
44
+ if ( $( '#gmb_open_builder1' ).prop( 'checked' ) === false && $( '#gmb_open_builder2' ).prop( 'checked' ) === false ) {
45
+ $( '#gmb_open_builder2' ).prop( 'checked', true );
46
+ }
47
 
48
  //Label Click Helper
49
  $( 'input:radio + label' ).on( 'click', function () {
assets/js/admin/admin-settings.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){"use strict";e(function(){e(".hide-welcome").on("click",function(c){c.preventDefault(),e(".welcome-header").slideUp("normal",function(){e(".logo-svg-small").fadeIn()});var o={action:"hide_welcome"};e.post(ajaxurl,o,function(e){})});var c=e(".geolocate-radio-wrap input:radio");c.prop("checked")===!0&&e("#lat-lng-wrap").hide(),c.prop("checked")===!1&&e("#lat-lng-wrap").show(),c.on("change",function(){e("#lat-lng-wrap").toggle()}),e("#gmb_has_archive1").prop("checked")===!1&&e("#gmb_has_archive2").prop("checked")===!1&&e("#gmb_has_archive1").prop("checked",!0),e("#gmb_open_builder1").prop("checked")===!1&&e("#gmb_open_builder2").prop("checked")===!1&&e("#gmb_open_builder2").prop("checked",!0),e("input:radio + label").on("click",function(){e(this).prev("input:radio").prop("checked",!0)})})}(jQuery);
assets/js/admin/admin-shortcode.js ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * TinyMCE plugin
3
+ *
4
+ * @see: http://generatewp.com/take-shortcodes-ultimate-level/ (heavily referenced)
5
+ */
6
+ (function () {
7
+
8
+ tinymce.PluginManager.add( 'gmb_shortcode_button', function ( editor, url ) {
9
+
10
+ var ed = tinymce.activeEditor;
11
+ var sh_tag = 'google_maps';
12
+
13
+ /**
14
+ * Open Shortcode Generator Modal
15
+ *
16
+ * @param ui
17
+ * @param v
18
+ */
19
+ function gmb_open_modal( ui, v ) {
20
+
21
+ editor.windowManager.open( {
22
+ title : ed.getLang( 'gmb.shortcode_generator_title' ),
23
+ id : 'gmb_shortcode_dialog',
24
+ width : 600,
25
+ height : 250,
26
+ resizable : true,
27
+ scrollbars: true,
28
+ url : ajaxurl + '?action=gmb_shortcode_iframe'
29
+ }, {
30
+ shortcode : ed.getLang( 'gmb.shortcode_tag' ),
31
+ shortcode_params: window.decodeURIComponent( v )
32
+ } );
33
+ }
34
+
35
+ //add popup
36
+ editor.addCommand( 'gmb_shortcode_popup', gmb_open_modal );
37
+
38
+ editor.addButton( 'gmb_shortcode_button', {
39
+ title : ed.getLang( 'gmb.shortcode_generator_title' ),
40
+ icon : 'gmb dashicons-location-alt',
41
+ onclick: gmb_open_modal
42
+ } );
43
+
44
+ //replace from shortcode to an image placeholder
45
+ editor.on( 'BeforeSetcontent', function ( event ) {
46
+ event.content = gmb_replace_shortcode( event.content );
47
+ } );
48
+
49
+ //replace from image placeholder to shortcode
50
+ editor.on( 'GetContent', function ( event ) {
51
+ event.content = gmb_restore_shortcode( event.content );
52
+ } );
53
+
54
+
55
+ //open popup on placeholder double click
56
+ editor.on( 'DblClick', function ( e ) {
57
+ var cls = e.target.className.indexOf( 'wp-google-maps-builder' );
58
+ var attributes = e.target.attributes['data-gmb-attr'].value;
59
+
60
+ if ( e.target.nodeName == 'IMG' && cls > -1 ) {
61
+ editor.execCommand( 'gmb_shortcode_popup', false, attributes );
62
+ }
63
+ } );
64
+
65
+ /**
66
+ * Helper functions
67
+ */
68
+ function getAttr( s, n ) {
69
+ n = new RegExp( n + '=\"([^\"]+)\"', 'g' ).exec( s );
70
+ return n ? window.decodeURIComponent( n[1] ) : '';
71
+ }
72
+
73
+ /**
74
+ * Maps Replace Shortcode
75
+ *
76
+ * @param content
77
+ * @returns {XML|*|string|void}
78
+ */
79
+ function gmb_replace_shortcode( content ) {
80
+ return content.replace( /\[google_maps([^\]]*)\]/g, function ( all, attr, con ) {
81
+ return gmb_shortcode_html( 'wp-google-maps-builder', attr, con );
82
+ } );
83
+ }
84
+
85
+ /**
86
+ * Restore Shortcodes
87
+ */
88
+ function gmb_restore_shortcode( content ) {
89
+ return content.replace( /(?:<p(?: [^>]+)?>)*(<img [^>]+>)(<\/p>)*/g, function ( match, image ) {
90
+ var data = getAttr( image, 'data-gmb-attr' );
91
+ if ( data ) {
92
+ return '<p>[' + sh_tag + data + ']</p>';
93
+ }
94
+ return match;
95
+ } );
96
+ }
97
+
98
+ /**
99
+ * HTML
100
+ *
101
+ * @param cls string - Class name
102
+ * @param data
103
+ * @param con
104
+ * @returns {string}
105
+ */
106
+ function gmb_shortcode_html( cls, data, con ) {
107
+
108
+ var placeholder = url + '/maps-shortcode-placeholder.jpg';
109
+ data = window.encodeURIComponent( data );
110
+
111
+ return '<img src="' + placeholder + '" class="mceItem ' + cls + '" ' + 'data-gmb-attr="' + data + '" data-mce-resize="false" data-mce-placeholder="1" />';
112
+ }
113
+
114
+ } );
115
+
116
+
117
+ })();
assets/js/admin/admin-shortcode.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(){tinymce.PluginManager.add("gmb_shortcode_button",function(t,e){function o(e,o){t.windowManager.open({title:d.getLang("gmb.shortcode_generator_title"),id:"gmb_shortcode_dialog",width:600,height:250,resizable:!0,scrollbars:!0,url:ajaxurl+"?action=gmb_shortcode_iframe"},{shortcode:d.getLang("gmb.shortcode_tag"),shortcode_params:window.decodeURIComponent(o)})}function n(t,e){return e=new RegExp(e+'="([^"]+)"',"g").exec(t),e?window.decodeURIComponent(e[1]):""}function a(t){return t.replace(/\[google_maps([^\]]*)\]/g,function(t,e,o){return c("wp-google-maps-builder",e,o)})}function r(t){return t.replace(/(?:<p(?: [^>]+)?>)*(<img [^>]+>)(<\/p>)*/g,function(t,e){var o=n(e,"data-gmb-attr");return o?"<p>["+g+o+"]</p>":t})}function c(t,o,n){var a=e+"/maps-shortcode-placeholder.jpg";return o=window.encodeURIComponent(o),'<img src="'+a+'" class="mceItem '+t+'" data-gmb-attr="'+o+'" data-mce-resize="false" data-mce-placeholder="1" />'}var d=tinymce.activeEditor,g="google_maps";t.addCommand("gmb_shortcode_popup",o),t.addButton("gmb_shortcode_button",{title:d.getLang("gmb.shortcode_generator_title"),icon:"gmb dashicons-location-alt",onclick:o}),t.on("BeforeSetcontent",function(t){t.content=a(t.content)}),t.on("GetContent",function(t){t.content=r(t.content)}),t.on("DblClick",function(e){var o=e.target.className.indexOf("wp-google-maps-builder"),n=e.target.attributes["data-gmb-attr"].value;"IMG"==e.target.nodeName&&o>-1&&t.execCommand("gmb_shortcode_popup",!1,n)})})}();
assets/js/admin/admin-widget.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Admin Widgets JS
3
+ *
4
+ * @description: The GMB Admin Widget scripts. Only enqueued on the admin widgets screen; used to validate fields, show/hide, and other functions
5
+ * @package: GMB
6
+ * @subpackage: Assets/JS
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+
11
+ jQuery.noConflict();
12
+ (function ( $ ) {
13
+
14
+ var initialize_qtips = function () {
15
+ jQuery( '[data-tooltip!=""]' ).qtip( { // Grab all elements with a non-blank data-tooltip attr.
16
+ content : {
17
+ attr: 'data-tooltip' // Tell qTip2 to look inside this attr for its content
18
+ },
19
+ style : {classes: 'qtip-rounded qtip-tipsy'},
20
+ position: {
21
+ my: 'bottom center', // Position my top left...
22
+ at: 'top center' // at the bottom right of...
23
+ }
24
+ } )
25
+ };
26
+
27
+
28
+ //On DOM Ready
29
+ $( function () {
30
+ initialize_qtips();
31
+ } );
32
+
33
+ //Function to Refresh jQuery toggles for Yelp Widget Pro upon saving specific widget
34
+ $( document ).ajaxSuccess( function ( e, xhr, settings ) {
35
+ initialize_qtips();
36
+ } );
37
+
38
+
39
+ })( jQuery );
assets/js/admin/admin-widget.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery.noConflict(),function(t){var o=function(){jQuery('[data-tooltip!=""]').qtip({content:{attr:"data-tooltip"},style:{classes:"qtip-rounded qtip-tipsy"},position:{my:"bottom center",at:"top center"}})};t(function(){o()}),t(document).ajaxSuccess(function(t,n,e){o()})}(jQuery);
assets/js/admin/maps-shortcode-placeholder.jpg ADDED
Binary file
assets/js/admin/shortcode-iframe.js ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Google Places Reviews JS: WP Admin Shortcode Generator
3
+ *
4
+ * @description: JavaScripts for the shortcode generator iframe
5
+ * @since: 1.3
6
+ */
7
+
8
+ (function ( $ ) {
9
+ "use strict";
10
+
11
+ var custom_params = '';
12
+ var existing_shortcode = false;
13
+
14
+ $( document ).ready( function () {
15
+
16
+ //Cancel button (closes iframe modal)
17
+ $( '#gmb_cancel' ).on( 'click', function ( e ) {
18
+ top.tinymce.activeEditor.windowManager.close();
19
+ e.preventDefault();
20
+ } );
21
+
22
+ custom_params = top.tinyMCE.activeEditor.windowManager.getParams();
23
+
24
+ //Are there custom params?
25
+ if ( custom_params.shortcode_params !== 'undefined' ) {
26
+ existing_shortcode = true;
27
+ }
28
+
29
+ //Get things going for various functions
30
+ init();
31
+
32
+ } );
33
+
34
+ // Init
35
+ // @public
36
+ function init() {
37
+
38
+ gmb_generator_submit();
39
+
40
+ //iframe sizing
41
+ setTimeout( function () {
42
+ $( 'body.iframe' ).css( {height: 'auto'} );
43
+ }, 200 );
44
+
45
+
46
+ //New or Existing Shortcode?
47
+ if ( existing_shortcode === true ) {
48
+ $( '.new-shortcode' ).hide(); //hide lookup fields (already set)
49
+ $( '.gmb-edit-shortcode' ).show(); //show edit options
50
+ $( '#gmb_submit' ).val( 'Edit Shortcode' ); //Change submit button text
51
+ gmb_set_existing_params( custom_params ); //Set default options
52
+ }
53
+
54
+
55
+ }
56
+
57
+
58
+ /**
59
+ * Set Existing Options
60
+ *
61
+ * @description Sets the generator options according to the user's already preset shortcode configuration
62
+ * @param custom_params obj
63
+ */
64
+ function gmb_set_existing_params( custom_params ) {
65
+
66
+ //Set variables from passed custom_params
67
+ var id = gmb_get_attr( custom_params.shortcode_params, 'id' );
68
+
69
+ //Set Place ID (very important)
70
+ if ( id ) {
71
+ $( '#gmb_maps' ).val( id );
72
+ } else {
73
+ alert( 'There was no Map ID found for this shortcode. Please create a new one.' );
74
+ return false;
75
+ }
76
+
77
+ }
78
+
79
+
80
+ /**
81
+ * Shortcode Generator On Submit
82
+ *
83
+ * @description: Outputs the shortcode in TinyMCE and does minor validation
84
+ */
85
+ function gmb_generator_submit() {
86
+
87
+ $( '#gmb_settings' ).on( 'submit', function ( e ) {
88
+ e.preventDefault();
89
+
90
+ //Set our variables
91
+ var args = top.tinymce.activeEditor.windowManager.getParams(),
92
+ map_id = $( '#gmb_maps' ).val(),
93
+ shortcode;
94
+
95
+ //Form the shortcode
96
+ shortcode = '[' + args.shortcode;
97
+
98
+ //Start with the ID
99
+ if ( map_id ) {
100
+ shortcode += ' id="' + map_id + '"';
101
+ }
102
+
103
+ shortcode += ']';
104
+
105
+ top.tinyMCE.activeEditor.execCommand( 'mceInsertContent', 0, shortcode );
106
+ top.tinymce.activeEditor.windowManager.close();
107
+
108
+ } );
109
+
110
+
111
+ }
112
+
113
+ /**
114
+ * Get Attribute
115
+ *
116
+ * @description: Helper function that plucks options from passed string
117
+ */
118
+ function gmb_get_attr( s, n ) {
119
+ n = new RegExp( n + '=\"([^\"]+)\"', 'g' ).exec( s );
120
+ return n ? window.decodeURIComponent( n[1] ) : '';
121
+ }
122
+
123
+
124
+ })( jQuery );
assets/js/admin/shortcode-iframe.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){"use strict";function t(){n(),setTimeout(function(){e("body.iframe").css({height:"auto"})},200),c===!0&&(e(".new-shortcode").hide(),e(".gmb-edit-shortcode").show(),e("#gmb_submit").val("Edit Shortcode"),o(a))}function o(t){var o=i(t.shortcode_params,"id");return o?void e("#gmb_maps").val(o):(alert("There was no Map ID found for this shortcode. Please create a new one."),!1)}function n(){e("#gmb_settings").on("submit",function(t){t.preventDefault();var o,n=top.tinymce.activeEditor.windowManager.getParams(),i=e("#gmb_maps").val();o="["+n.shortcode,i&&(o+=' id="'+i+'"'),o+="]",top.tinyMCE.activeEditor.execCommand("mceInsertContent",0,o),top.tinymce.activeEditor.windowManager.close()})}function i(e,t){return t=new RegExp(t+'="([^"]+)"',"g").exec(e),t?window.decodeURIComponent(t[1]):""}var a="",c=!1;e(document).ready(function(){e("#gmb_cancel").on("click",function(e){top.tinymce.activeEditor.windowManager.close(),e.preventDefault()}),a=top.tinyMCE.activeEditor.windowManager.getParams(),"undefined"!==a.shortcode_params&&(c=!0),t()})}(jQuery);
{admin/assets/js → assets/js/admin}/snazzy.json RENAMED
File without changes
{public/assets/js → assets/js/frontend}/google-maps-builder.js RENAMED
@@ -1,14 +1,30 @@
 
 
 
 
 
 
 
1
  (function ( $ ) {
2
  "use strict";
3
  var map;
4
  var places_service;
5
  var place;
6
- var location_marker_array = [];
7
  var search_markers = [];
8
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- $( function () {
11
-
12
 
13
  var google_maps = $( '.google-maps-builder' );
14
  /*
@@ -20,9 +36,39 @@
20
 
21
  } );
22
 
23
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  } );
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  /**
28
  * Map Intialize
@@ -32,25 +78,29 @@
32
  * @param map_canvas
33
  */
34
  function initialize_map( map_canvas ) {
35
-
36
  //info_window - Contains the place's information and content
37
  var info_window = new google.maps.InfoWindow( {
38
  maxWidth: 315
39
  } );
 
40
  var map_id = $( map_canvas ).data( 'map-id' );
41
  var map_data = gmb_data[map_id];
42
- var latitude = ((map_data.map_params.latitude) ? map_data.map_params.latitude : '32.713240');
43
- var longitude = ((map_data.map_params.longitude) ? map_data.map_params.longitude : '-117.159443');
44
  var map_options = {
45
  center: new google.maps.LatLng( latitude, longitude ),
46
  zoom : parseInt( map_data.map_params.zoom ),
47
  styles: [
48
- {stylers: [
49
- { visibility: 'simplified' }
50
- ]},
51
- {elementType: 'labels', stylers: [
52
- { visibility: 'off' }
53
- ]}
 
 
 
 
54
  ]
55
  };
56
  map = new google.maps.Map( map_canvas[0], map_options );
@@ -60,6 +110,7 @@
60
  set_map_theme( map, map_data );
61
  set_map_markers( map, map_data, info_window );
62
 
 
63
  if ( map_data.places_api.show_places === 'yes' ) {
64
  perform_places_search( map, map_data, info_window );
65
  }
@@ -78,6 +129,7 @@
78
 
79
  var map_type = map_data.map_theme.map_type.toUpperCase();
80
  var map_theme = map_data.map_theme.map_theme_json;
 
81
 
82
  //Custom (Snazzy) Theme
83
  if ( map_type === 'ROADMAP' && map_theme !== 'none' ) {
@@ -108,7 +160,7 @@
108
  function set_map_options( map, map_data ) {
109
 
110
  //Zoom control
111
- var zoom_control = map_data.map_controls.zoom_control;
112
  if ( zoom_control === 'none' ) {
113
  map.setOptions( {
114
  zoomControl: false
@@ -123,7 +175,7 @@
123
  }
124
 
125
  //Mouse Wheel Zoom
126
- var mouse_zoom = map_data.map_controls.wheel_zoom;
127
  if ( mouse_zoom === 'none' ) {
128
  map.setOptions( {
129
  scrollwheel: false
@@ -135,7 +187,7 @@
135
  }
136
 
137
  //Pan Control
138
- var pan = map_data.map_controls.pan_control;
139
  if ( pan === 'none' ) {
140
  map.setOptions( {
141
  panControl: false
@@ -148,8 +200,8 @@
148
 
149
 
150
  //Street View Control
151
- var street_view = map_data.map_controls.street_view.toUpperCase();
152
- if ( street_view === 'NONE' ) {
153
  map.setOptions( {
154
  streetViewControl: false
155
  } );
@@ -160,7 +212,7 @@
160
  }
161
 
162
  //Map Double Click
163
- var double_click_zoom = map_data.map_controls.double_click_zoom;
164
  if ( double_click_zoom === 'none' ) {
165
  map.setOptions( {
166
  disableDoubleClickZoom: true
@@ -172,7 +224,7 @@
172
  }
173
 
174
  //Map Draggable
175
- var draggable = map_data.map_controls.draggable;
176
  if ( draggable === 'none' ) {
177
  map.setOptions( {
178
  draggable: false
@@ -195,24 +247,28 @@
195
  //Loop through repeatable field of markers
196
  $( map_markers ).each( function ( index, marker_data ) {
197
 
 
 
198
  //check for custom marker and label data
199
  var marker_icon = map_data.map_params.default_marker; //Default marker icon here
200
- if ( typeof marker_data.marker !== 'undefined' && marker_data.marker.length > 0 ) {
201
- marker_icon = eval( "(" + marker_data.marker + ")" );
202
- }
203
 
204
- //marker label
205
- var marker_label = '';
206
- if ( typeof marker_data.label !== 'undefined' && marker_data.label.length > 0 ) {
 
 
 
 
207
  marker_label = marker_data.label
208
  }
209
 
 
210
  //Marker for map
211
  var location_marker = new Marker( {
212
- map : map,
213
- zIndex: 9,
214
- icon : marker_icon,
215
- label : marker_label
216
  } );
217
 
218
  var marker_lat = marker_data.lat;
@@ -235,9 +291,10 @@
235
  }
236
 
237
  /**
238
- * Queries to get Google Place Details information
 
 
239
  *
240
- * Help function
241
  * @param marker_data
242
  * @param info_window
243
  */
@@ -254,11 +311,15 @@
254
  info_window_content += '<div class="place-description">' + marker_data.description + '</div>';
255
  }
256
 
 
 
257
 
258
- if ( marker_data.reference ) {
259
  var request = {
260
- reference: marker_data.reference
 
261
  };
 
 
262
  places_service.getDetails( request, function ( place, status ) {
263
 
264
  if ( status == google.maps.places.PlacesServiceStatus.OK ) {
@@ -355,6 +416,7 @@
355
 
356
  //perform search request
357
  var request = {
 
358
  location: new google.maps.LatLng( map_center.lat(), map_center.lng() ),
359
  types : types_array,
360
  radius : map_data.places_api.search_radius
@@ -372,8 +434,7 @@
372
  create_search_result_marker( map, results[i], info_window );
373
  }
374
 
375
- //show all pages of results
376
- //@see: http://stackoverflow.com/questions/11665684/more-than-20-results-by-pagination-with-google-places-api
377
  if ( pagination.hasNextPage ) {
378
  pagination.nextPage();
379
  }
@@ -417,8 +478,8 @@
417
  info_window.setContent( '<div id="infobubble-content" class="loading"></div>' );
418
 
419
  var marker_data = {
420
- 'title' : place.name,
421
- 'reference': place.reference
422
  };
423
 
424
  set_info_window_content( marker_data, info_window );
1
+ /**
2
+ * Maps Builder JS
3
+ *
4
+ * @description: Frontend form rendering
5
+ */
6
+ var gmb_data;
7
+
8
  (function ( $ ) {
9
  "use strict";
10
  var map;
11
  var places_service;
12
  var place;
 
13
  var search_markers = [];
14
 
15
+ /*
16
+ * Global load function for other plugins / themes to use
17
+ *
18
+ * ex: google_maps_builder_load( object );
19
+ */
20
+ window.google_maps_builder_load = function ( map_canvas ) {
21
+ if ( !$( map_canvas ).hasClass( 'google-maps-builder' ) ) {
22
+ return 'invalid Google Maps Builder';
23
+ }
24
+ initialize_map( map_canvas );
25
+ };
26
 
27
+ $( document ).ready( function () {
 
28
 
29
  var google_maps = $( '.google-maps-builder' );
30
  /*
36
 
37
  } );
38
 
39
+ // fix for bootstrap tabs
40
+ $( 'a[data-toggle="tab"]' ).on( 'shown.bs.tab', function ( e ) {
41
+ var panel = $( e.target ).attr( 'href' );
42
+ load_hidden_map( panel );
43
+ } );
44
+ //Beaver Builder Tabs
45
+ $( '.fl-tabs-label' ).on( 'click', function ( e ) {
46
+ var panel = $( '.fl-tabs-panel-content.fl-tab-active' ).get( 0 );
47
+ load_hidden_map( panel );
48
+ } );
49
+ //Tabby Tabs:
50
+ $( '.responsive-tabs__list__item' ).on( 'click', function ( e ) {
51
+ var panel = $( '.responsive-tabs__panel--active' ).get( 0 );
52
+ load_hidden_map( panel );
53
+ } );
54
  } );
55
 
56
+ /**
57
+ * Map Init After the fact
58
+ *
59
+ * @description Good for tabs / ajax - pass in wrapper div class/id
60
+ * @since 2.0
61
+ */
62
+ function load_hidden_map( parent ) {
63
+ var google_hidden_maps = $( parent ).find( '.google-maps-builder' );
64
+ if ( !google_hidden_maps.length ) {
65
+ return;
66
+ }
67
+ google_hidden_maps.each( function ( index, value ) {
68
+ //google.maps.event.trigger( map, 'resize' ); //TODO: Ideally we'd resize the map rather than reinitialize for faster performance, but that requires a bit of rewrite in how the plugin works
69
+ initialize_map( $( google_hidden_maps[index] ) );
70
+ } );
71
+ }
72
 
73
  /**
74
  * Map Intialize
78
  * @param map_canvas
79
  */
80
  function initialize_map( map_canvas ) {
 
81
  //info_window - Contains the place's information and content
82
  var info_window = new google.maps.InfoWindow( {
83
  maxWidth: 315
84
  } );
85
+
86
  var map_id = $( map_canvas ).data( 'map-id' );
87
  var map_data = gmb_data[map_id];
88
+ var latitude = (map_data.map_params.latitude) ? map_data.map_params.latitude : '32.713240';
89
+ var longitude = (map_data.map_params.longitude) ? map_data.map_params.longitude : '-117.159443';
90
  var map_options = {
91
  center: new google.maps.LatLng( latitude, longitude ),
92
  zoom : parseInt( map_data.map_params.zoom ),
93
  styles: [
94
+ {
95
+ stylers: [
96
+ {visibility: 'simplified'}
97
+ ]
98
+ },
99
+ {
100
+ elementType: 'labels', stylers: [
101
+ {visibility: 'off'}
102
+ ]
103
+ }
104
  ]
105
  };
106
  map = new google.maps.Map( map_canvas[0], map_options );
110
  set_map_theme( map, map_data );
111
  set_map_markers( map, map_data, info_window );
112
 
113
+ //Display places?
114
  if ( map_data.places_api.show_places === 'yes' ) {
115
  perform_places_search( map, map_data, info_window );
116
  }
129
 
130
  var map_type = map_data.map_theme.map_type.toUpperCase();
131
  var map_theme = map_data.map_theme.map_theme_json;
132
+ console.log( map_data.map_theme );
133
 
134
  //Custom (Snazzy) Theme
135
  if ( map_type === 'ROADMAP' && map_theme !== 'none' ) {
160
  function set_map_options( map, map_data ) {
161
 
162
  //Zoom control
163
+ var zoom_control = map_data.map_controls.zoom_control.toLowerCase();
164
  if ( zoom_control === 'none' ) {
165
  map.setOptions( {
166
  zoomControl: false
175
  }
176
 
177
  //Mouse Wheel Zoom
178
+ var mouse_zoom = map_data.map_controls.wheel_zoom.toLowerCase();
179
  if ( mouse_zoom === 'none' ) {
180
  map.setOptions( {
181
  scrollwheel: false
187
  }
188
 
189
  //Pan Control
190
+ var pan = map_data.map_controls.pan_control.toLowerCase();
191
  if ( pan === 'none' ) {
192
  map.setOptions( {
193
  panControl: false
200
 
201
 
202
  //Street View Control
203
+ var street_view = map_data.map_controls.street_view.toLowerCase();
204
+ if ( street_view === 'none' ) {
205
  map.setOptions( {
206
  streetViewControl: false
207
  } );
212
  }
213
 
214
  //Map Double Click
215
+ var double_click_zoom = map_data.map_controls.double_click_zoom.toLowerCase();
216
  if ( double_click_zoom === 'none' ) {
217
  map.setOptions( {
218
  disableDoubleClickZoom: true
224
  }
225
 
226
  //Map Draggable
227
+ var draggable = map_data.map_controls.draggable.toLowerCase();
228
  if ( draggable === 'none' ) {
229
  map.setOptions( {
230
  draggable: false
247
  //Loop through repeatable field of markers
248
  $( map_markers ).each( function ( index, marker_data ) {
249
 
250
+ var marker_label = '';
251
+
252
  //check for custom marker and label data
253
  var marker_icon = map_data.map_params.default_marker; //Default marker icon here
 
 
 
254
 
255
+ //Marker Image Icon
256
+ if ( marker_data.marker_img ) {
257
+ marker_icon = marker_data.marker_img;
258
+ }
259
+ //SVG Icon
260
+ else if ( (typeof marker_data.marker !== 'undefined' && marker_data.marker.length > 0) && (typeof marker_data.label !== 'undefined' && marker_data.label.length > 0) ) {
261
+ marker_icon = eval( "(" + marker_data.marker + ")" );
262
  marker_label = marker_data.label
263
  }
264
 
265
+
266
  //Marker for map
267
  var location_marker = new Marker( {
268
+ map : map,
269
+ zIndex : 9,
270
+ icon : marker_icon,
271
+ custom_label: marker_label
272
  } );
273
 
274
  var marker_lat = marker_data.lat;
291
  }
292
 
293
  /**
294
+ * Set Infowindow Content
295
+ *
296
+ * @description: Queries to get Google Place Details information
297
  *
 
298
  * @param marker_data
299
  * @param info_window
300
  */
311
  info_window_content += '<div class="place-description">' + marker_data.description + '</div>';
312
  }
313
 
314
+ //Does this marker have a place_id
315
+ if ( marker_data.place_id && marker_data.hide_details !== 'on' ) {
316
 
 
317
  var request = {
318
+ key : gmb_data.api_key,
319
+ placeId: marker_data.place_id
320
  };
321
+
322
+ //Get details from Google on this place
323
  places_service.getDetails( request, function ( place, status ) {
324
 
325
  if ( status == google.maps.places.PlacesServiceStatus.OK ) {
416
 
417
  //perform search request
418
  var request = {
419
+ key : gmb_data.api_key,
420
  location: new google.maps.LatLng( map_center.lat(), map_center.lng() ),
421
  types : types_array,
422
  radius : map_data.places_api.search_radius
434
  create_search_result_marker( map, results[i], info_window );
435
  }
436
 
437
+ //show all pages of results @see: http://stackoverflow.com/questions/11665684/more-than-20-results-by-pagination-with-google-places-api
 
438
  if ( pagination.hasNextPage ) {
439
  pagination.nextPage();
440
  }
478
  info_window.setContent( '<div id="infobubble-content" class="loading"></div>' );
479
 
480
  var marker_data = {
481
+ title : place.name,
482
+ place_id: place.place_id
483
  };
484
 
485
  set_info_window_content( marker_data, info_window );
assets/js/frontend/google-maps-builder.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var gmb_data;!function($){"use strict";function load_hidden_map(e){var a=$(e).find(".google-maps-builder");a.length&&a.each(function(e,t){initialize_map($(a[e]))})}function initialize_map(e){var a=new google.maps.InfoWindow({maxWidth:315}),t=$(e).data("map-id"),o=gmb_data[t],n=o.map_params.latitude?o.map_params.latitude:"32.713240",r=o.map_params.longitude?o.map_params.longitude:"-117.159443",i={center:new google.maps.LatLng(n,r),zoom:parseInt(o.map_params.zoom),styles:[{stylers:[{visibility:"simplified"}]},{elementType:"labels",stylers:[{visibility:"off"}]}]};map=new google.maps.Map(e[0],i),places_service=new google.maps.places.PlacesService(map),set_map_options(map,o),set_map_theme(map,o),set_map_markers(map,o,a),"yes"===o.places_api.show_places&&perform_places_search(map,o,a)}function set_map_theme(map,map_data){var map_type=map_data.map_theme.map_type.toUpperCase(),map_theme=map_data.map_theme.map_theme_json;console.log(map_data.map_theme),map.setOptions("ROADMAP"===map_type&&"none"!==map_theme?{mapTypeId:google.maps.MapTypeId.ROADMAP,styles:eval(map_theme)}:{mapTypeId:google.maps.MapTypeId[map_type],styles:!1})}function set_map_options(e,a){var t=a.map_controls.zoom_control.toLowerCase();e.setOptions("none"===t?{zoomControl:!1}:{zoomControl:!0,zoomControlOptions:{style:google.maps.ZoomControlStyle[t]}});var o=a.map_controls.wheel_zoom.toLowerCase();e.setOptions("none"===o?{scrollwheel:!1}:{scrollwheel:!0});var n=a.map_controls.pan_control.toLowerCase();e.setOptions("none"===n?{panControl:!1}:{panControl:!0});var r=a.map_controls.street_view.toLowerCase();e.setOptions("none"===r?{streetViewControl:!1}:{streetViewControl:!0});var i=a.map_controls.double_click_zoom.toLowerCase();e.setOptions("none"===i?{disableDoubleClickZoom:!0}:{disableDoubleClickZoom:!1});var s=a.map_controls.draggable.toLowerCase();e.setOptions("none"===s?{draggable:!1}:{draggable:!0})}function set_map_markers(map,map_data,info_window){var map_markers=map_data.map_markers;$(map_markers).each(function(index,marker_data){var marker_label="",marker_icon=map_data.map_params.default_marker;marker_data.marker_img?marker_icon=marker_data.marker_img:"undefined"!=typeof marker_data.marker&&marker_data.marker.length>0&&"undefined"!=typeof marker_data.label&&marker_data.label.length>0&&(marker_icon=eval("("+marker_data.marker+")"),marker_label=marker_data.label);var location_marker=new Marker({map:map,zIndex:9,icon:marker_icon,custom_label:marker_label}),marker_lat=marker_data.lat,marker_lng=marker_data.lng;location_marker.setPosition(new google.maps.LatLng(marker_lat,marker_lng)),location_marker.setVisible(!0),google.maps.event.addListener(location_marker,"click",function(){info_window.close(),info_window.setContent('<div id="infobubble-content" class="loading"></div>'),set_info_window_content(marker_data,info_window),info_window.open(map,location_marker)})})}function set_info_window_content(e,a){var t;if(e.title&&(t='<p class="place-title">'+e.title+"</p>"),e.description&&(t+='<div class="place-description">'+e.description+"</div>"),e.place_id&&"on"!==e.hide_details){var o={key:gmb_data.api_key,placeId:e.place_id};places_service.getDetails(o,function(e,o){o==google.maps.places.PlacesServiceStatus.OK&&(t+=set_place_content_in_info_window(e),t=set_info_window_wrapper(t),a.setContent(t))})}else t=set_info_window_wrapper(t),a.setContent(t)}function set_place_content_in_info_window(e){var a;return a='<div class="marker-info-wrapper">',a+=e.formatted_address?'<div class="place-address">'+e.formatted_address+"</div>":"",a+=e.formatted_phone_number?'<div class="place-phone">'+e.formatted_phone_number+"</div>":"",a+=e.website?'<div class="place-website"><a href="'+e.website+'" target="_blank" rel="nofollow" title="Click to visit the '+e.name+' website">Website</a></div>':"",e.rating&&(a+='<div class="rating-wrap clear"><p class="numeric-rating">'+e.rating+'</p><div class="star-rating-wrap"><div class="star-rating-size" style="width:'+65*e.rating/5+'px;"></div></div></div>'),a+="</div>"}function set_info_window_wrapper(e){var a='<div id="infobubble-content" class="main-place-infobubble-content">';return a+=e,a+="</div>"}function perform_places_search(e,a,t){for(var o=e.getCenter(),n=a.places_api.search_places,r=0;r<search_markers.length;r++)search_markers[r].setMap(null);if(search_markers=[],n.length>0){var i={key:gmb_data.api_key,location:new google.maps.LatLng(o.lat(),o.lng()),types:n,radius:a.places_api.search_radius};places_service.nearbySearch(i,function(a,o,n){var r,i=0;if(o==google.maps.places.PlacesServiceStatus.OK){for(i=0;r=a[i];i++)create_search_result_marker(e,a[i],t);n.hasNextPage&&n.nextPage()}})}}function create_search_result_marker(e,a,t){var o=new google.maps.Marker({map:e});o.setIcon({url:a.icon,size:new google.maps.Size(24,24),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17,34),scaledSize:new google.maps.Size(24,24)}),o.setPosition(a.geometry.location),o.setVisible(!0),google.maps.event.addListener(o,"click",function(){t.close(),t.setContent('<div id="infobubble-content" class="loading"></div>');var n={title:a.name,place_id:a.place_id};set_info_window_content(n,t),t.open(e,o)}),search_markers.push(o)}var map,places_service,place,search_markers=[];window.google_maps_builder_load=function(e){return $(e).hasClass("google-maps-builder")?void initialize_map(e):"invalid Google Maps Builder"},$(document).ready(function(){var e=$(".google-maps-builder");e.each(function(a,t){initialize_map($(e[a]))}),$('a[data-toggle="tab"]').on("shown.bs.tab",function(e){var a=$(e.target).attr("href");load_hidden_map(a)}),$(".fl-tabs-label").on("click",function(e){var a=$(".fl-tabs-panel-content.fl-tab-active").get(0);load_hidden_map(a)}),$(".responsive-tabs__list__item").on("click",function(e){var a=$(".responsive-tabs__panel--active").get(0);load_hidden_map(a)})})}(jQuery);
assets/js/plugins/gmb-magnific.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /**
2
+ * http://dimsemenov.com/plugins/magnific-popup/
3
+ */
4
+ (function(a){var b="Close",c="BeforeClose",d="AfterClose",e="BeforeAppend",f="MarkupParse",g="Open",h="Change",i="mfp",j="."+i,k="mfp-ready",l="mfp-removing",m="mfp-prevent-close",n,o=function(){},p=!!window.jQuery,q,r=a(window),s,t,u,v,w,x=function(a,b){n.ev.on(i+a+j,b)},y=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},z=function(b,c){n.ev.triggerHandler(i+b,c),n.st.callbacks&&(b=b.charAt(0).toLowerCase()+b.slice(1),n.st.callbacks[b]&&n.st.callbacks[b].apply(n,a.isArray(c)?c:[c]))},A=function(b){if(b!==w||!n.currTemplate.closeBtn)n.currTemplate.closeBtn=a(n.st.closeMarkup.replace("%title%",n.st.tClose)),w=b;return n.currTemplate.closeBtn},B=function(){a.magnificPopup.instance||(n=new o,n.init(),a.magnificPopup.instance=n)},C=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(a.transition!==undefined)return!0;while(b.length)if(b.pop()+"Transition"in a)return!0;return!1};o.prototype={constructor:o,init:function(){var b=navigator.appVersion;n.isIE7=b.indexOf("MSIE 7.")!==-1,n.isIE8=b.indexOf("MSIE 8.")!==-1,n.isLowIE=n.isIE7||n.isIE8,n.isAndroid=/android/gi.test(b),n.isIOS=/iphone|ipad|ipod/gi.test(b),n.supportsTransition=C(),n.probablyMobile=n.isAndroid||n.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),t=a(document),n.popupsCache={}},open:function(b){s||(s=a(document.body));var c;if(b.isObj===!1){n.items=b.items.toArray(),n.index=0;var d=b.items,e;for(c=0;c<d.length;c++){e=d[c],e.parsed&&(e=e.el[0]);if(e===b.el[0]){n.index=c;break}}}else n.items=a.isArray(b.items)?b.items:[b.items],n.index=b.index||0;if(n.isOpen){n.updateItemHTML();return}n.types=[],v="",b.mainEl&&b.mainEl.length?n.ev=b.mainEl.eq(0):n.ev=t,b.key?(n.popupsCache[b.key]||(n.popupsCache[b.key]={}),n.currTemplate=n.popupsCache[b.key]):n.currTemplate={},n.st=a.extend(!0,{},a.magnificPopup.defaults,b),n.fixedContentPos=n.st.fixedContentPos==="auto"?!n.probablyMobile:n.st.fixedContentPos,n.st.modal&&(n.st.closeOnContentClick=!1,n.st.closeOnBgClick=!1,n.st.showCloseBtn=!1,n.st.enableEscapeKey=!1),n.bgOverlay||(n.bgOverlay=y("bg").on("click"+j,function(){n.close()}),n.wrap=y("wrap").attr("tabindex",-1).on("click"+j,function(a){n._checkIfClose(a.target)&&n.close()}),n.container=y("container",n.wrap)),n.contentContainer=y("content"),n.st.preloader&&(n.preloader=y("preloader",n.container,n.st.tLoading));var h=a.magnificPopup.modules;for(c=0;c<h.length;c++){var i=h[c];i=i.charAt(0).toUpperCase()+i.slice(1),n["init"+i].call(n)}z("BeforeOpen"),n.st.showCloseBtn&&(n.st.closeBtnInside?(x(f,function(a,b,c,d){c.close_replaceWith=A(d.type)}),v+=" mfp-close-btn-in"):n.wrap.append(A())),n.st.alignTop&&(v+=" mfp-align-top"),n.fixedContentPos?n.wrap.css({overflow:n.st.overflowY,overflowX:"hidden",overflowY:n.st.overflowY}):n.wrap.css({top:r.scrollTop(),position:"absolute"}),(n.st.fixedBgPos===!1||n.st.fixedBgPos==="auto"&&!n.fixedContentPos)&&n.bgOverlay.css({height:t.height(),position:"absolute"}),n.st.enableEscapeKey&&t.on("keyup"+j,function(a){a.keyCode===27&&n.close()}),r.on("resize"+j,function(){n.updateSize()}),n.st.closeOnContentClick||(v+=" mfp-auto-cursor"),v&&n.wrap.addClass(v);var l=n.wH=r.height(),m={};if(n.fixedContentPos&&n._hasScrollBar(l)){var o=n._getScrollbarSize();o&&(m.marginRight=o)}n.fixedContentPos&&(n.isIE7?a("body, html").css("overflow","hidden"):m.overflow="hidden");var p=n.st.mainClass;return n.isIE7&&(p+=" mfp-ie7"),p&&n._addClassToMFP(p),n.updateItemHTML(),z("BuildControls"),a("html").css(m),n.bgOverlay.add(n.wrap).prependTo(n.st.prependTo||s),n._lastFocusedEl=document.activeElement,setTimeout(function(){n.content?(n._addClassToMFP(k),n._setFocus()):n.bgOverlay.addClass(k),t.on("focusin"+j,n._onFocusIn)},16),n.isOpen=!0,n.updateSize(l),z(g),b},close:function(){if(!n.isOpen)return;z(c),n.isOpen=!1,n.st.removalDelay&&!n.isLowIE&&n.supportsTransition?(n._addClassToMFP(l),setTimeout(function(){n._close()},n.st.removalDelay)):n._close()},_close:function(){z(b);var c=l+" "+k+" ";n.bgOverlay.detach(),n.wrap.detach(),n.container.empty(),n.st.mainClass&&(c+=n.st.mainClass+" "),n._removeClassFromMFP(c);if(n.fixedContentPos){var e={marginRight:""};n.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}t.off("keyup"+j+" focusin"+j),n.ev.off(j),n.wrap.attr("class","mfp-wrap").removeAttr("style"),n.bgOverlay.attr("class","mfp-bg"),n.container.attr("class","mfp-container"),n.st.showCloseBtn&&(!n.st.closeBtnInside||n.currTemplate[n.currItem.type]===!0)&&n.currTemplate.closeBtn&&n.currTemplate.closeBtn.detach(),n._lastFocusedEl&&a(n._lastFocusedEl).focus(),n.currItem=null,n.content=null,n.currTemplate=null,n.prevHeight=0,z(d)},updateSize:function(a){if(n.isIOS){var b=document.documentElement.clientWidth/window.innerWidth,c=window.innerHeight*b;n.wrap.css("height",c),n.wH=c}else n.wH=a||r.height();n.fixedContentPos||n.wrap.css("height",n.wH),z("Resize")},updateItemHTML:function(){var b=n.items[n.index];n.contentContainer.detach(),n.content&&n.content.detach(),b.parsed||(b=n.parseEl(n.index));var c=b.type;z("BeforeChange",[n.currItem?n.currItem.type:"",c]),n.currItem=b;if(!n.currTemplate[c]){var d=n.st[c]?n.st[c].markup:!1;z("FirstMarkupParse",d),d?n.currTemplate[c]=a(d):n.currTemplate[c]=!0}u&&u!==b.type&&n.container.removeClass("mfp-"+u+"-holder");var e=n["get"+c.charAt(0).toUpperCase()+c.slice(1)](b,n.currTemplate[c]);n.appendContent(e,c),b.preloaded=!0,z(h,b),u=b.type,n.container.prepend(n.contentContainer),z("AfterChange")},appendContent:function(a,b){n.content=a,a?n.st.showCloseBtn&&n.st.closeBtnInside&&n.currTemplate[b]===!0?n.content.find(".mfp-close").length||n.content.append(A()):n.content=a:n.content="",z(e),n.container.addClass("mfp-"+b+"-holder"),n.contentContainer.append(n.content)},parseEl:function(b){var c=n.items[b],d;c.tagName?c={el:a(c)}:(d=c.type,c={data:c,src:c.src});if(c.el){var e=n.types;for(var f=0;f<e.length;f++)if(c.el.hasClass("mfp-"+e[f])){d=e[f];break}c.src=c.el.attr("data-mfp-src"),c.src||(c.src=c.el.attr("href"))}return c.type=d||n.st.type||"inline",c.index=b,c.parsed=!0,n.items[b]=c,z("ElementParse",c),n.items[b]},addGroup:function(a,b){var c=function(c){c.mfpEl=this,n._openClick(c,a,b)};b||(b={});var d="click.magnificPopup";b.mainEl=a,b.items?(b.isObj=!0,a.off(d).on(d,c)):(b.isObj=!1,b.delegate?a.off(d).on(d,b.delegate,c):(b.items=a,a.off(d).on(d,c)))},_openClick:function(b,c,d){var e=d.midClick!==undefined?d.midClick:a.magnificPopup.defaults.midClick;if(!e&&(b.which===2||b.ctrlKey||b.metaKey))return;var f=d.disableOn!==undefined?d.disableOn:a.magnificPopup.defaults.disableOn;if(f)if(a.isFunction(f)){if(!f.call(n))return!0}else if(r.width()<f)return!0;b.type&&(b.preventDefault(),n.isOpen&&b.stopPropagation()),d.el=a(b.mfpEl),d.delegate&&(d.items=c.find(d.delegate)),n.open(d)},updateStatus:function(a,b){if(n.preloader){q!==a&&n.container.removeClass("mfp-s-"+q),!b&&a==="loading"&&(b=n.st.tLoading);var c={status:a,text:b};z("UpdateStatus",c),a=c.status,b=c.text,n.preloader.html(b),n.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),n.container.addClass("mfp-s-"+a),q=a}},_checkIfClose:function(b){if(a(b).hasClass(m))return;var c=n.st.closeOnContentClick,d=n.st.closeOnBgClick;if(c&&d)return!0;if(!n.content||a(b).hasClass("mfp-close")||n.preloader&&b===n.preloader[0])return!0;if(b!==n.content[0]&&!a.contains(n.content[0],b)){if(d&&a.contains(document,b))return!0}else if(c)return!0;return!1},_addClassToMFP:function(a){n.bgOverlay.addClass(a),n.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),n.wrap.removeClass(a)},_hasScrollBar:function(a){return(n.isIE7?t.height():document.body.scrollHeight)>(a||r.height())},_setFocus:function(){(n.st.focus?n.content.find(n.st.focus).eq(0):n.wrap).focus()},_onFocusIn:function(b){if(b.target!==n.wrap[0]&&!a.contains(n.wrap[0],b.target))return n._setFocus(),!1},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),z(f,[b,c,d]),a.each(c,function(a,c){if(c===undefined||c===!1)return!0;e=a.split("_");if(e.length>1){var d=b.find(j+"-"+e[0]);if(d.length>0){var f=e[1];f==="replaceWith"?d[0]!==c[0]&&d.replaceWith(c):f==="img"?d.is("img")?d.attr("src",c):d.replaceWith('<img src="'+c+'" class="'+d.attr("class")+'" />'):d.attr(e[1],c)}}else b.find(j+"-"+a).html(c)})},_getScrollbarSize:function(){if(n.scrollbarSize===undefined){var a=document.createElement("div");a.id="mfp-sbm",a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),n.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return n.scrollbarSize}},a.magnificPopup={instance:null,proto:o.prototype,modules:[],open:function(b,c){return B(),b?b=a.extend(!0,{},b):b={},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},a.fn.magnificPopup=function(b){B();var c=a(this);if(typeof b=="string")if(b==="open"){var d,e=p?c.data("magnificPopup"):c[0].magnificPopup,f=parseInt(arguments[1],10)||0;e.items?d=e.items[f]:(d=c,e.delegate&&(d=d.find(e.delegate)),d=d.eq(f)),n._openClick({mfpEl:d},c,e)}else n.isOpen&&n[b].apply(n,Array.prototype.slice.call(arguments,1));else b=a.extend(!0,{},b),p?c.data("magnificPopup",b):c[0].magnificPopup=b,n.addGroup(c,b);return c};var D="inline",E,F,G,H=function(){G&&(F.after(G.addClass(E)).detach(),G=null)};a.magnificPopup.registerModule(D,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){n.types.push(D),x(b+"."+D,function(){H()})},getInline:function(b,c){H();if(b.src){var d=n.st.inline,e=a(b.src);if(e.length){var f=e[0].parentNode;f&&f.tagName&&(F||(E=d.hiddenClass,F=y(E),E="mfp-"+E),G=e.after(F).detach().removeClass(E)),n.updateStatus("ready")}else n.updateStatus("error",d.tNotFound),e=a("<div>");return b.inlineElement=e,e}return n.updateStatus("ready"),n._parseMarkup(c,{},b),c}}});var I="ajax",J,K=function(){J&&s.removeClass(J)},L=function(){K(),n.req&&n.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){n.types.push(I),J=n.st.ajax.cursor,x(b+"."+I,L),x("BeforeChange."+I,L)},getAjax:function(b){J&&s.addClass(J),n.updateStatus("loading");var c=a.extend({url:b.src,success:function(c,d,e){var f={data:c,xhr:e};z("ParseAjax",f),n.appendContent(a(f.data),I),b.finished=!0,K(),n._setFocus(),setTimeout(function(){n.wrap.addClass(k)},16),n.updateStatus("ready"),z("AjaxContentAdded")},error:function(){K(),b.finished=b.loadError=!0,n.updateStatus("error",n.st.ajax.tError.replace("%url%",b.src))}},n.st.ajax.settings);return n.req=a.ajax(c),""}}});var M,N=function(){return M===undefined&&(M=document.createElement("p").style.MozTransform!==undefined),M};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a=n.st.zoom,d=".zoom",e;if(!a.enabled||!n.supportsTransition)return;var f=a.duration,g=function(b){var c=b.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+a.duration/1e3+"s "+a.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,c.css(e),c},h=function(){n.content.css("visibility","visible")},i,j;x("BuildControls"+d,function(){if(n._allowZoom()){clearTimeout(i),n.content.css("visibility","hidden"),e=n._getItemToZoom();if(!e){h();return}j=g(e),j.css(n._getOffset()),n.wrap.append(j),i=setTimeout(function(){j.css(n._getOffset(!0)),i=setTimeout(function(){h(),setTimeout(function(){j.remove(),e=j=null,z("ZoomAnimationEnded")},16)},f)},16)}}),x(c+d,function(){if(n._allowZoom()){clearTimeout(i),n.st.removalDelay=f;if(!e){e=n._getItemToZoom();if(!e)return;j=g(e)}j.css(n._getOffset(!0)),n.wrap.append(j),n.content.css("visibility","hidden"),setTimeout(function(){j.css(n._getOffset())},16)}}),x(b+d,function(){n._allowZoom()&&(h(),j&&j.remove(),e=null)})},_allowZoom:function(){return n.currItem.type==="image"},_getItemToZoom:function(){return n.currItem.hasSize?n.currItem.img:!1},_getOffset:function(b){var c;b?c=n.currItem.img:c=n.st.zoom.opener(n.currItem.el||n.currItem);var d=c.offset(),e=parseInt(c.css("padding-top"),10),f=parseInt(c.css("padding-bottom"),10);d.top-=a(window).scrollTop()-e;var g={width:c.width(),height:(p?c.innerHeight():c[0].offsetHeight)-f-e};return N()?g["-moz-transform"]=g.transform="translate("+d.left+"px,"+d.top+"px)":(g.left=d.left,g.top=d.top),g}}}),B()})(window.jQuery||window.Zepto)
assets/js/plugins/gmb-magnific.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t,n,o,i,s,a,r,l="Close",c="BeforeClose",p="AfterClose",d="BeforeAppend",u="MarkupParse",f="Open",m="Change",g="mfp",h="."+g,v="mfp-ready",C="mfp-removing",y="mfp-prevent-close",w=function(){},b=!!window.jQuery,x=e(window),I=function(e,n){t.ev.on(g+e+h,n)},T=function(t,n,o,i){var s=document.createElement("div");return s.className="mfp-"+t,o&&(s.innerHTML=o),i?n&&n.appendChild(s):(s=e(s),n&&s.appendTo(n)),s},k=function(n,o){t.ev.triggerHandler(g+n,o),t.st.callbacks&&(n=n.charAt(0).toLowerCase()+n.slice(1),t.st.callbacks[n]&&t.st.callbacks[n].apply(t,e.isArray(o)?o:[o]))},O=function(n){return n===r&&t.currTemplate.closeBtn||(t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose)),r=n),t.currTemplate.closeBtn},P=function(){e.magnificPopup.instance||(t=new w,t.init(),e.magnificPopup.instance=t)},_=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1};w.prototype={constructor:w,init:function(){var n=navigator.appVersion;t.isIE7=-1!==n.indexOf("MSIE 7."),t.isIE8=-1!==n.indexOf("MSIE 8."),t.isLowIE=t.isIE7||t.isIE8,t.isAndroid=/android/gi.test(n),t.isIOS=/iphone|ipad|ipod/gi.test(n),t.supportsTransition=_(),t.probablyMobile=t.isAndroid||t.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),i=e(document),t.popupsCache={}},open:function(n){o||(o=e(document.body));var s;if(n.isObj===!1){t.items=n.items.toArray(),t.index=0;var r,l=n.items;for(s=0;s<l.length;s++)if(r=l[s],r.parsed&&(r=r.el[0]),r===n.el[0]){t.index=s;break}}else t.items=e.isArray(n.items)?n.items:[n.items],t.index=n.index||0;if(t.isOpen)return void t.updateItemHTML();t.types=[],a="",t.ev=n.mainEl&&n.mainEl.length?n.mainEl.eq(0):i,n.key?(t.popupsCache[n.key]||(t.popupsCache[n.key]={}),t.currTemplate=t.popupsCache[n.key]):t.currTemplate={},t.st=e.extend(!0,{},e.magnificPopup.defaults,n),t.fixedContentPos="auto"===t.st.fixedContentPos?!t.probablyMobile:t.st.fixedContentPos,t.st.modal&&(t.st.closeOnContentClick=!1,t.st.closeOnBgClick=!1,t.st.showCloseBtn=!1,t.st.enableEscapeKey=!1),t.bgOverlay||(t.bgOverlay=T("bg").on("click"+h,function(){t.close()}),t.wrap=T("wrap").attr("tabindex",-1).on("click"+h,function(e){t._checkIfClose(e.target)&&t.close()}),t.container=T("container",t.wrap)),t.contentContainer=T("content"),t.st.preloader&&(t.preloader=T("preloader",t.container,t.st.tLoading));var c=e.magnificPopup.modules;for(s=0;s<c.length;s++){var p=c[s];p=p.charAt(0).toUpperCase()+p.slice(1),t["init"+p].call(t)}k("BeforeOpen"),t.st.showCloseBtn&&(t.st.closeBtnInside?(I(u,function(e,t,n,o){n.close_replaceWith=O(o.type)}),a+=" mfp-close-btn-in"):t.wrap.append(O())),t.st.alignTop&&(a+=" mfp-align-top"),t.wrap.css(t.fixedContentPos?{overflow:t.st.overflowY,overflowX:"hidden",overflowY:t.st.overflowY}:{top:x.scrollTop(),position:"absolute"}),(t.st.fixedBgPos===!1||"auto"===t.st.fixedBgPos&&!t.fixedContentPos)&&t.bgOverlay.css({height:i.height(),position:"absolute"}),t.st.enableEscapeKey&&i.on("keyup"+h,function(e){27===e.keyCode&&t.close()}),x.on("resize"+h,function(){t.updateSize()}),t.st.closeOnContentClick||(a+=" mfp-auto-cursor"),a&&t.wrap.addClass(a);var d=t.wH=x.height(),m={};if(t.fixedContentPos&&t._hasScrollBar(d)){var g=t._getScrollbarSize();g&&(m.marginRight=g)}t.fixedContentPos&&(t.isIE7?e("body, html").css("overflow","hidden"):m.overflow="hidden");var C=t.st.mainClass;return t.isIE7&&(C+=" mfp-ie7"),C&&t._addClassToMFP(C),t.updateItemHTML(),k("BuildControls"),e("html").css(m),t.bgOverlay.add(t.wrap).prependTo(t.st.prependTo||o),t._lastFocusedEl=document.activeElement,setTimeout(function(){t.content?(t._addClassToMFP(v),t._setFocus()):t.bgOverlay.addClass(v),i.on("focusin"+h,t._onFocusIn)},16),t.isOpen=!0,t.updateSize(d),k(f),n},close:function(){t.isOpen&&(k(c),t.isOpen=!1,t.st.removalDelay&&!t.isLowIE&&t.supportsTransition?(t._addClassToMFP(C),setTimeout(function(){t._close()},t.st.removalDelay)):t._close())},_close:function(){k(l);var n=C+" "+v+" ";if(t.bgOverlay.detach(),t.wrap.detach(),t.container.empty(),t.st.mainClass&&(n+=t.st.mainClass+" "),t._removeClassFromMFP(n),t.fixedContentPos){var o={marginRight:""};t.isIE7?e("body, html").css("overflow",""):o.overflow="",e("html").css(o)}i.off("keyup"+h+" focusin"+h),t.ev.off(h),t.wrap.attr("class","mfp-wrap").removeAttr("style"),t.bgOverlay.attr("class","mfp-bg"),t.container.attr("class","mfp-container"),t.st.showCloseBtn&&(!t.st.closeBtnInside||t.currTemplate[t.currItem.type]===!0)&&t.currTemplate.closeBtn&&t.currTemplate.closeBtn.detach(),t._lastFocusedEl&&e(t._lastFocusedEl).focus(),t.currItem=null,t.content=null,t.currTemplate=null,t.prevHeight=0,k(p)},updateSize:function(e){if(t.isIOS){var n=document.documentElement.clientWidth/window.innerWidth,o=window.innerHeight*n;t.wrap.css("height",o),t.wH=o}else t.wH=e||x.height();t.fixedContentPos||t.wrap.css("height",t.wH),k("Resize")},updateItemHTML:function(){var n=t.items[t.index];t.contentContainer.detach(),t.content&&t.content.detach(),n.parsed||(n=t.parseEl(t.index));var o=n.type;if(k("BeforeChange",[t.currItem?t.currItem.type:"",o]),t.currItem=n,!t.currTemplate[o]){var i=t.st[o]?t.st[o].markup:!1;k("FirstMarkupParse",i),t.currTemplate[o]=i?e(i):!0}s&&s!==n.type&&t.container.removeClass("mfp-"+s+"-holder");var a=t["get"+o.charAt(0).toUpperCase()+o.slice(1)](n,t.currTemplate[o]);t.appendContent(a,o),n.preloaded=!0,k(m,n),s=n.type,t.container.prepend(t.contentContainer),k("AfterChange")},appendContent:function(e,n){t.content=e,e?t.st.showCloseBtn&&t.st.closeBtnInside&&t.currTemplate[n]===!0?t.content.find(".mfp-close").length||t.content.append(O()):t.content=e:t.content="",k(d),t.container.addClass("mfp-"+n+"-holder"),t.contentContainer.append(t.content)},parseEl:function(n){var o,i=t.items[n];if(i.tagName?i={el:e(i)}:(o=i.type,i={data:i,src:i.src}),i.el){for(var s=t.types,a=0;a<s.length;a++)if(i.el.hasClass("mfp-"+s[a])){o=s[a];break}i.src=i.el.attr("data-mfp-src"),i.src||(i.src=i.el.attr("href"))}return i.type=o||t.st.type||"inline",i.index=n,i.parsed=!0,t.items[n]=i,k("ElementParse",i),t.items[n]},addGroup:function(e,n){var o=function(o){o.mfpEl=this,t._openClick(o,e,n)};n||(n={});var i="click.magnificPopup";n.mainEl=e,n.items?(n.isObj=!0,e.off(i).on(i,o)):(n.isObj=!1,n.delegate?e.off(i).on(i,n.delegate,o):(n.items=e,e.off(i).on(i,o)))},_openClick:function(n,o,i){var s=void 0!==i.midClick?i.midClick:e.magnificPopup.defaults.midClick;if(s||2!==n.which&&!n.ctrlKey&&!n.metaKey){var a=void 0!==i.disableOn?i.disableOn:e.magnificPopup.defaults.disableOn;if(a)if(e.isFunction(a)){if(!a.call(t))return!0}else if(x.width()<a)return!0;n.type&&(n.preventDefault(),t.isOpen&&n.stopPropagation()),i.el=e(n.mfpEl),i.delegate&&(i.items=o.find(i.delegate)),t.open(i)}},updateStatus:function(e,o){if(t.preloader){n!==e&&t.container.removeClass("mfp-s-"+n),!o&&"loading"===e&&(o=t.st.tLoading);var i={status:e,text:o};k("UpdateStatus",i),e=i.status,o=i.text,t.preloader.html(o),t.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),t.container.addClass("mfp-s-"+e),n=e}},_checkIfClose:function(n){if(!e(n).hasClass(y)){var o=t.st.closeOnContentClick,i=t.st.closeOnBgClick;if(o&&i)return!0;if(!t.content||e(n).hasClass("mfp-close")||t.preloader&&n===t.preloader[0])return!0;if(n===t.content[0]||e.contains(t.content[0],n)){if(o)return!0}else if(i&&e.contains(document,n))return!0;return!1}},_addClassToMFP:function(e){t.bgOverlay.addClass(e),t.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),t.wrap.removeClass(e)},_hasScrollBar:function(e){return(t.isIE7?i.height():document.body.scrollHeight)>(e||x.height())},_setFocus:function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},_onFocusIn:function(n){return n.target===t.wrap[0]||e.contains(t.wrap[0],n.target)?void 0:(t._setFocus(),!1)},_parseMarkup:function(t,n,o){var i;o.data&&(n=e.extend(o.data,n)),k(u,[t,n,o]),e.each(n,function(e,n){if(void 0===n||n===!1)return!0;if(i=e.split("_"),i.length>1){var o=t.find(h+"-"+i[0]);if(o.length>0){var s=i[1];"replaceWith"===s?o[0]!==n[0]&&o.replaceWith(n):"img"===s?o.is("img")?o.attr("src",n):o.replaceWith('<img src="'+n+'" class="'+o.attr("class")+'" />'):o.attr(i[1],n)}}else t.find(h+"-"+e).html(n)})},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");e.id="mfp-sbm",e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return t.scrollbarSize}},e.magnificPopup={instance:null,proto:w.prototype,modules:[],open:function(t,n){return P(),t=t?e.extend(!0,{},t):{},t.isObj=!0,t.index=n||0,this.instance.open(t)},close:function(){return e.magnificPopup.instance&&e.magnificPopup.instance.close()},registerModule:function(t,n){n.options&&(e.magnificPopup.defaults[t]=n.options),e.extend(this.proto,n.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},e.fn.magnificPopup=function(n){P();var o=e(this);if("string"==typeof n)if("open"===n){var i,s=b?o.data("magnificPopup"):o[0].magnificPopup,a=parseInt(arguments[1],10)||0;s.items?i=s.items[a]:(i=o,s.delegate&&(i=i.find(s.delegate)),i=i.eq(a)),t._openClick({mfpEl:i},o,s)}else t.isOpen&&t[n].apply(t,Array.prototype.slice.call(arguments,1));else n=e.extend(!0,{},n),b?o.data("magnificPopup",n):o[0].magnificPopup=n,t.addGroup(o,n);return o};var E,B,M,S="inline",A=function(){M&&(B.after(M.addClass(E)).detach(),M=null)};e.magnificPopup.registerModule(S,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push(S),I(l+"."+S,function(){A()})},getInline:function(n,o){if(A(),n.src){var i=t.st.inline,s=e(n.src);if(s.length){var a=s[0].parentNode;a&&a.tagName&&(B||(E=i.hiddenClass,B=T(E),E="mfp-"+E),M=s.after(B).detach().removeClass(E)),t.updateStatus("ready")}else t.updateStatus("error",i.tNotFound),s=e("<div>");return n.inlineElement=s,s}return t.updateStatus("ready"),t._parseMarkup(o,{},n),o}}});var F,z="ajax",j=function(){F&&o.removeClass(F)},H=function(){j(),t.req&&t.req.abort()};e.magnificPopup.registerModule(z,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){t.types.push(z),F=t.st.ajax.cursor,I(l+"."+z,H),I("BeforeChange."+z,H)},getAjax:function(n){F&&o.addClass(F),t.updateStatus("loading");var i=e.extend({url:n.src,success:function(o,i,s){var a={data:o,xhr:s};k("ParseAjax",a),t.appendContent(e(a.data),z),n.finished=!0,j(),t._setFocus(),setTimeout(function(){t.wrap.addClass(v)},16),t.updateStatus("ready"),k("AjaxContentAdded")},error:function(){j(),n.finished=n.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",n.src))}},t.st.ajax.settings);return t.req=e.ajax(i),""}}});var L,W=function(){return void 0===L&&(L=void 0!==document.createElement("p").style.MozTransform),L};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,n=t.st.zoom,o=".zoom";if(n.enabled&&t.supportsTransition){var i,s,a=n.duration,r=function(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),o="all "+n.duration/1e3+"s "+n.easing,i={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},s="transition";return i["-webkit-"+s]=i["-moz-"+s]=i["-o-"+s]=i[s]=o,t.css(i),t},p=function(){t.content.css("visibility","visible")};I("BuildControls"+o,function(){if(t._allowZoom()){if(clearTimeout(i),t.content.css("visibility","hidden"),e=t._getItemToZoom(),!e)return void p();s=r(e),s.css(t._getOffset()),t.wrap.append(s),i=setTimeout(function(){s.css(t._getOffset(!0)),i=setTimeout(function(){p(),setTimeout(function(){s.remove(),e=s=null,k("ZoomAnimationEnded")},16)},a)},16)}}),I(c+o,function(){if(t._allowZoom()){if(clearTimeout(i),t.st.removalDelay=a,!e){if(e=t._getItemToZoom(),!e)return;s=r(e)}s.css(t._getOffset(!0)),t.wrap.append(s),t.content.css("visibility","hidden"),setTimeout(function(){s.css(t._getOffset())},16)}}),I(l+o,function(){t._allowZoom()&&(p(),s&&s.remove(),e=null)})}},_allowZoom:function(){return"image"===t.currItem.type},_getItemToZoom:function(){return t.currItem.hasSize?t.currItem.img:!1},_getOffset:function(n){var o;o=n?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var i=o.offset(),s=parseInt(o.css("padding-top"),10),a=parseInt(o.css("padding-bottom"),10);i.top-=e(window).scrollTop()-s;var r={width:o.width(),height:(b?o.innerHeight():o[0].offsetHeight)-a-s};return W()?r["-moz-transform"]=r.transform="translate("+i.left+"px,"+i.top+"px)":(r.left=i.left,r.top=i.top),r}}}),P()}(window.jQuery||window.Zepto);
{admin/includes/tooltips → assets/js/plugins}/jquery.qtip.js RENAMED
@@ -2,11 +2,11 @@
2
  * qTip2 - Pretty powerful tooltips - v2.2.0
3
  * http://qtip2.com
4
  *
5
- * Copyright (c) 2014 Craig Michael Thompson
6
  * Released under the MIT, GPL licenses
7
  * http://jquery.org/license
8
  *
9
- * Date: Sun Mar 16 2014 07:12 EDT-0400
10
  * Plugins: tips viewport imagemap svg modal
11
  * Styles: css3
12
  */
@@ -1899,7 +1899,7 @@ QTIP.nextid = 0;
1899
  QTIP.inactiveEvents = INACTIVE_EVENTS;
1900
 
1901
  // Base z-index for all qTips
1902
- QTIP.zindex = 15000;
1903
 
1904
  // Define configuration defaults
1905
  QTIP.defaults = {
2
  * qTip2 - Pretty powerful tooltips - v2.2.0
3
  * http://qtip2.com
4
  *
5
+ * Copyright (c) 2015 Craig Michael Thompson
6
  * Released under the MIT, GPL licenses
7
  * http://jquery.org/license
8
  *
9
+ * Date: Sun Mar 16 2015 07:12 EDT-0400
10
  * Plugins: tips viewport imagemap svg modal
11
  * Styles: css3
12
  */
1899
  QTIP.inactiveEvents = INACTIVE_EVENTS;
1900
 
1901
  // Base z-index for all qTips
1902
+ QTIP.zindex = 100010;
1903
 
1904
  // Define configuration defaults
1905
  QTIP.defaults = {
assets/js/plugins/jquery.qtip.min.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ !function(t,e,i){!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):jQuery&&!jQuery.fn.qtip&&t(jQuery)}(function(s){"use strict";function o(t,e,i,o){this.id=i,this.target=t,this.tooltip=W,this.elements={target:t},this._id=R+"-"+i,this.timers={img:{}},this.options=e,this.plugins={},this.cache={event:{},target:s(),disabled:I,attr:o,onTooltip:I,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=I}function n(t){return t===W||"object"!==s.type(t)}function r(t){return!(s.isFunction(t)||t&&t.attr||t.length||"object"===s.type(t)&&(t.jquery||t.then))}function a(t){var e,i,o,a;return n(t)?I:(n(t.metadata)&&(t.metadata={type:t.metadata}),"content"in t&&(e=t.content,n(e)||e.jquery||e.done?e=t.content={text:i=r(e)?I:e}:i=e.text,"ajax"in e&&(o=e.ajax,a=o&&o.once!==I,delete e.ajax,e.text=function(t,e){var n=i||s(this).attr(e.options.content.attr)||"Loading...",r=s.ajax(s.extend({},o,{context:e})).then(o.success,W,o.error).then(function(t){return t&&a&&e.set("content.text",t),t},function(t,i,s){e.destroyed||0===t.status||e.set("content.text",i+": "+s)});return a?n:(e.set("content.text",n),r)}),"title"in e&&(n(e.title)||(e.button=e.title.button,e.title=e.title.text),r(e.title||I)&&(e.title=I))),"position"in t&&n(t.position)&&(t.position={my:t.position,at:t.position}),"show"in t&&n(t.show)&&(t.show=t.show.jquery?{target:t.show}:t.show===k?{ready:k}:{event:t.show}),"hide"in t&&n(t.hide)&&(t.hide=t.hide.jquery?{target:t.hide}:{event:t.hide}),"style"in t&&n(t.style)&&(t.style={classes:t.style}),s.each(V,function(){this.sanitize&&this.sanitize(t)}),t)}function h(t,e){for(var i,s=0,o=t,n=e.split(".");o=o[n[s++]];)s<n.length&&(i=o);return[i||t,n.pop()]}function l(t,e){var i,s,o;for(i in this.checks)for(s in this.checks[i])(o=new RegExp(s,"i").exec(t))&&(e.push(o),("builtin"===i||this.plugins[i])&&this.checks[i][s].apply(this.plugins[i]||this,e))}function c(t){return H.concat("").join(t?"-"+t+" ":" ")}function d(i){return i&&{type:i.type,pageX:i.pageX,pageY:i.pageY,target:i.target,relatedTarget:i.relatedTarget,scrollX:i.scrollX||t.pageXOffset||e.body.scrollLeft||e.documentElement.scrollLeft,scrollY:i.scrollY||t.pageYOffset||e.body.scrollTop||e.documentElement.scrollTop}||{}}function p(t,e){return e>0?setTimeout(s.proxy(t,this),e):void t.call(this)}function u(t){return this.tooltip.hasClass(tt)?I:(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),void(this.timers.show=p.call(this,function(){this.toggle(k,t)},this.options.show.delay)))}function f(t){if(this.tooltip.hasClass(tt))return I;var e=s(t.relatedTarget),i=e.closest(G)[0]===this.tooltip[0],o=e[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==e[0]&&"mouse"===this.options.position.target&&i||this.options.hide.fixed&&/mouse(out|leave|move)/.test(t.type)&&(i||o))try{t.preventDefault(),t.stopImmediatePropagation()}catch(n){}else this.timers.hide=p.call(this,function(){this.toggle(I,t)},this.options.hide.delay,this)}function g(t){return this.tooltip.hasClass(tt)||!this.options.hide.inactive?I:(clearTimeout(this.timers.inactive),void(this.timers.inactive=p.call(this,function(){this.hide(t)},this.options.hide.inactive)))}function m(t){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(t)}function v(t,i,o){s(e.body).delegate(t,(i.split?i:i.join(at+" "))+at,function(){var t=T.api[s.attr(this,Y)];t&&!t.disabled&&o.apply(t,arguments)})}function y(t,i,n){var r,h,l,c,d,p=s(e.body),u=t[0]===e?p:t,f=t.metadata?t.metadata(n.metadata):W,g="html5"===n.metadata.type&&f?f[n.metadata.name]:W,m=t.data(n.metadata.name||"qtipopts");try{m="string"==typeof m?s.parseJSON(m):m}catch(v){}if(c=s.extend(k,{},T.defaults,n,"object"==typeof m?a(m):W,a(g||f)),h=c.position,c.id=i,"boolean"==typeof c.content.text){if(l=t.attr(c.content.attr),c.content.attr===I||!l)return I;c.content.text=l}if(h.container.length||(h.container=p),h.target===I&&(h.target=u),c.show.target===I&&(c.show.target=u),c.show.solo===k&&(c.show.solo=h.container.closest("body")),c.hide.target===I&&(c.hide.target=u),c.position.viewport===k&&(c.position.viewport=h.container),h.container=h.container.eq(0),h.at=new j(h.at,k),h.my=new j(h.my),t.data(R))if(c.overwrite)t.qtip("destroy",!0);else if(c.overwrite===I)return I;return t.attr(X,i),c.suppress&&(d=t.attr("title"))&&t.removeAttr("title").attr(it,d).attr("title",""),r=new o(t,c,i,!!l),t.data(R,r),t.one("remove.qtip-"+i+" removeqtip.qtip-"+i,function(){var t;(t=s(this).data(R))&&t.destroy(!0)}),r}function b(t){return t.charAt(0).toUpperCase()+t.slice(1)}function w(t,e){var s,o,n=e.charAt(0).toUpperCase()+e.slice(1),r=(e+" "+yt.join(n+" ")+n).split(" "),a=0;if(vt[e])return t.css(vt[e]);for(;s=r[a++];)if((o=t.css(s))!==i)return vt[e]=s,o}function x(t,e){return Math.ceil(parseFloat(w(t,e)))}function _(t,e){this._ns="tip",this.options=e,this.offset=e.offset,this.size=[e.width,e.height],this.init(this.qtip=t)}function C(t,e){this.options=e,this._ns="-modal",this.init(this.qtip=t)}var T,q,j,z,M,k=!0,I=!1,W=null,E="x",S="y",L="width",A="height",D="top",B="left",P="bottom",F="right",N="center",O="flipinvert",$="shift",V={},R="qtip",X="data-hasqtip",Y="data-qtip-id",H=["ui-widget","ui-tooltip"],G="."+R,U="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),Q=R+"-fixed",J=R+"-default",K=R+"-focus",Z=R+"-hover",tt=R+"-disabled",et="_replacedByqTip",it="oldtitle",st={ie:function(){for(var t=3,i=e.createElement("div");(i.innerHTML="<!--[if gt IE "+ ++t+"]><i></i><![endif]-->")&&i.getElementsByTagName("i")[0];);return t>4?t:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||I};q=o.prototype,q._when=function(t){return s.when.apply(s,t)},q.render=function(t){if(this.rendered||this.destroyed)return this;var e,i=this,o=this.options,n=this.cache,r=this.elements,a=o.content.text,h=o.content.title,l=o.content.button,c=o.position,d=("."+this._id+" ",[]);return s.attr(this.target[0],"aria-describedby",this._id),this.tooltip=r.tooltip=e=s("<div/>",{id:this._id,"class":[R,J,o.style.classes,R+"-pos-"+o.position.my.abbrev()].join(" "),width:o.style.width||"",height:o.style.height||"",tracking:"mouse"===c.target&&c.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":I,"aria-describedby":this._id+"-content","aria-hidden":k}).toggleClass(tt,this.disabled).attr(Y,this.id).data(R,this).appendTo(c.container).append(r.content=s("<div />",{"class":R+"-content",id:this._id+"-content","aria-atomic":k})),this.rendered=-1,this.positioning=k,h&&(this._createTitle(),s.isFunction(h)||d.push(this._updateTitle(h,I))),l&&this._createButton(),s.isFunction(a)||d.push(this._updateContent(a,I)),this.rendered=k,this._setWidget(),s.each(V,function(t){var e;"render"===this.initialize&&(e=this(i))&&(i.plugins[t]=e)}),this._unassignEvents(),this._assignEvents(),this._when(d).then(function(){i._trigger("render"),i.positioning=I,i.hiddenDuringWait||!o.show.ready&&!t||i.toggle(k,n.event,I),i.hiddenDuringWait=I}),T.api[this.id]=this,this},q.destroy=function(t){function e(){if(!this.destroyed){this.destroyed=k;var t=this.target,e=t.attr(it);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),s.each(this.plugins,function(t){this.destroy&&this.destroy()}),clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this._unassignEvents(),t.removeData(R).removeAttr(Y).removeAttr(X).removeAttr("aria-describedby"),this.options.suppress&&e&&t.attr("title",e).removeAttr(it),this._unbind(t),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=W,delete T.api[this.id]}}return this.destroyed?this.target:(t===k&&"hide"!==this.triggering||!this.rendered?e.call(this):(this.tooltip.one("tooltiphidden",s.proxy(e,this)),!this.triggering&&this.hide()),this.target)},z=q.checks={builtin:{"^id$":function(t,e,i,o){var n=i===k?T.nextid:i,r=R+"-"+n;n!==I&&n.length>0&&!s("#"+r).length?(this._id=r,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):t[e]=o},"^prerender":function(t,e,i){i&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(t,e,i){this._updateContent(i)},"^content.attr$":function(t,e,i,s){this.options.content.text===this.target.attr(s)&&this._updateContent(this.target.attr(i))},"^content.title$":function(t,e,i){return i?(i&&!this.elements.title&&this._createTitle(),void this._updateTitle(i)):this._removeTitle()},"^content.button$":function(t,e,i){this._updateButton(i)},"^content.title.(text|button)$":function(t,e,i){this.set("content."+e,i)},"^position.(my|at)$":function(t,e,i){"string"==typeof i&&(t[e]=new j(i,"at"===e))},"^position.container$":function(t,e,i){this.rendered&&this.tooltip.appendTo(i)},"^show.ready$":function(t,e,i){i&&(!this.rendered&&this.render(k)||this.toggle(k))},"^style.classes$":function(t,e,i,s){this.rendered&&this.tooltip.removeClass(s).addClass(i)},"^style.(width|height)":function(t,e,i){this.rendered&&this.tooltip.css(e,i)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(t,e,i){this.rendered&&this.tooltip.toggleClass(J,!!i)},"^events.(render|show|move|hide|focus|blur)$":function(t,e,i){this.rendered&&this.tooltip[(s.isFunction(i)?"":"un")+"bind"]("tooltip"+e,i)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var t=this.options.position;this.tooltip.attr("tracking","mouse"===t.target&&t.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},q.get=function(t){if(this.destroyed)return this;var e=h(this.options,t.toLowerCase()),i=e[0][e[1]];return i.precedance?i.string():i};var ot=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,nt=/^prerender|show\.ready/i;q.set=function(t,e){if(this.destroyed)return this;{var i,o=this.rendered,n=I,r=this.options;this.checks}return"string"==typeof t?(i=t,t={},t[i]=e):t=s.extend({},t),s.each(t,function(e,i){if(o&&nt.test(e))return void delete t[e];var a,l=h(r,e.toLowerCase());a=l[0][l[1]],l[0][l[1]]=i&&i.nodeType?s(i):i,n=ot.test(e)||n,t[e]=[l[0],l[1],i,a]}),a(r),this.positioning=k,s.each(t,s.proxy(l,this)),this.positioning=I,this.rendered&&this.tooltip[0].offsetWidth>0&&n&&this.reposition("mouse"===r.position.target?W:this.cache.event),this},q._update=function(t,e,i){var o=this,n=this.cache;return this.rendered&&t?(s.isFunction(t)&&(t=t.call(this.elements.target,n.event,this)||""),s.isFunction(t.then)?(n.waiting=k,t.then(function(t){return n.waiting=I,o._update(t,e)},W,function(t){return o._update(t,e)})):t===I||!t&&""!==t?I:(t.jquery&&t.length>0?e.empty().append(t.css({display:"block",visibility:"visible"})):e.html(t),this._waitForContent(e).then(function(t){t.images&&t.images.length&&o.rendered&&o.tooltip[0].offsetWidth>0&&o.reposition(n.event,!t.length)}))):I},q._waitForContent=function(t){var e=this.cache;return e.waiting=k,(s.fn.imagesLoaded?t.imagesLoaded():s.Deferred().resolve([])).done(function(){e.waiting=I}).promise()},q._updateContent=function(t,e){this._update(t,this.elements.content,e)},q._updateTitle=function(t,e){this._update(t,this.elements.title,e)===I&&this._removeTitle(I)},q._createTitle=function(){var t=this.elements,e=this._id+"-title";t.titlebar&&this._removeTitle(),t.titlebar=s("<div />",{"class":R+"-titlebar "+(this.options.style.widget?c("header"):"")}).append(t.title=s("<div />",{id:e,"class":R+"-title","aria-atomic":k})).insertBefore(t.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(t){s(this).toggleClass("ui-state-active ui-state-focus","down"===t.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(t){s(this).toggleClass("ui-state-hover","mouseover"===t.type)}),this.options.content.button&&this._createButton()},q._removeTitle=function(t){var e=this.elements;e.title&&(e.titlebar.remove(),e.titlebar=e.title=e.button=W,t!==I&&this.reposition())},q.reposition=function(i,o){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=k;var n,r,a=this.cache,h=this.tooltip,l=this.options.position,c=l.target,d=l.my,p=l.at,u=l.viewport,f=l.container,g=l.adjust,m=g.method.split(" "),v=h.outerWidth(I),y=h.outerHeight(I),b=0,w=0,x=h.css("position"),_={left:0,top:0},C=h[0].offsetWidth>0,T=i&&"scroll"===i.type,q=s(t),j=f[0].ownerDocument,z=this.mouse;if(s.isArray(c)&&2===c.length)p={x:B,y:D},_={left:c[0],top:c[1]};else if("mouse"===c)p={x:B,y:D},!z||!z.pageX||!g.mouse&&i&&i.pageX?i&&i.pageX||((!g.mouse||this.options.show.distance)&&a.origin&&a.origin.pageX?i=a.origin:(!i||i&&("resize"===i.type||"scroll"===i.type))&&(i=a.event)):i=z,"static"!==x&&(_=f.offset()),j.body.offsetWidth!==(t.innerWidth||j.documentElement.clientWidth)&&(r=s(e.body).offset()),_={left:i.pageX-_.left+(r&&r.left||0),top:i.pageY-_.top+(r&&r.top||0)},g.mouse&&T&&z&&(_.left-=(z.scrollX||0)-q.scrollLeft(),_.top-=(z.scrollY||0)-q.scrollTop());else{if("event"===c?i&&i.target&&"scroll"!==i.type&&"resize"!==i.type?a.target=s(i.target):i.target||(a.target=this.elements.target):"event"!==c&&(a.target=s(c.jquery?c:this.elements.target)),c=a.target,c=s(c).eq(0),0===c.length)return this;c[0]===e||c[0]===t?(b=st.iOS?t.innerWidth:c.width(),w=st.iOS?t.innerHeight:c.height(),c[0]===t&&(_={top:(u||c).scrollTop(),left:(u||c).scrollLeft()})):V.imagemap&&c.is("area")?n=V.imagemap(this,c,p,V.viewport?m:I):V.svg&&c&&c[0].ownerSVGElement?n=V.svg(this,c,p,V.viewport?m:I):(b=c.outerWidth(I),w=c.outerHeight(I),_=c.offset()),n&&(b=n.width,w=n.height,r=n.offset,_=n.position),_=this.reposition.offset(c,_,f),(st.iOS>3.1&&st.iOS<4.1||st.iOS>=4.3&&st.iOS<4.33||!st.iOS&&"fixed"===x)&&(_.left-=q.scrollLeft(),_.top-=q.scrollTop()),(!n||n&&n.adjustable!==I)&&(_.left+=p.x===F?b:p.x===N?b/2:0,_.top+=p.y===P?w:p.y===N?w/2:0)}return _.left+=g.x+(d.x===F?-v:d.x===N?-v/2:0),_.top+=g.y+(d.y===P?-y:d.y===N?-y/2:0),V.viewport?(_.adjusted=V.viewport(this,_,l,b,w,v,y),r&&_.adjusted.left&&(_.left+=r.left),r&&_.adjusted.top&&(_.top+=r.top)):_.adjusted={left:0,top:0},this._trigger("move",[_,u.elem||u],i)?(delete _.adjusted,o===I||!C||isNaN(_.left)||isNaN(_.top)||"mouse"===c||!s.isFunction(l.effect)?h.css(_):s.isFunction(l.effect)&&(l.effect.call(h,this,s.extend({},_)),h.queue(function(t){s(this).css({opacity:"",height:""}),st.ie&&this.style.removeAttribute("filter"),t()})),this.positioning=I,this):this},q.reposition.offset=function(t,i,o){function n(t,e){i.left+=e*t.scrollLeft(),i.top+=e*t.scrollTop()}if(!o[0])return i;var r,a,h,l,c=s(t[0].ownerDocument),d=!!st.ie&&"CSS1Compat"!==e.compatMode,p=o[0];do"static"!==(a=s.css(p,"position"))&&("fixed"===a?(h=p.getBoundingClientRect(),n(c,-1)):(h=s(p).position(),h.left+=parseFloat(s.css(p,"borderLeftWidth"))||0,h.top+=parseFloat(s.css(p,"borderTopWidth"))||0),i.left-=h.left+(parseFloat(s.css(p,"marginLeft"))||0),i.top-=h.top+(parseFloat(s.css(p,"marginTop"))||0),r||"hidden"===(l=s.css(p,"overflow"))||"visible"===l||(r=s(p)));while(p=p.offsetParent);return r&&(r[0]!==c[0]||d)&&n(r,1),i};var rt=(j=q.reposition.Corner=function(t,e){t=(""+t).replace(/([A-Z])/," $1").replace(/middle/gi,N).toLowerCase(),this.x=(t.match(/left|right/i)||t.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(t.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!e;var i=t.charAt(0);this.precedance="t"===i||"b"===i?S:E}).prototype;rt.invert=function(t,e){this[t]=this[t]===B?F:this[t]===F?B:e||this[t]},rt.string=function(){var t=this.x,e=this.y;return t===e?t:this.precedance===S||this.forceY&&"center"!==e?e+" "+t:t+" "+e},rt.abbrev=function(){var t=this.string().split(" ");return t[0].charAt(0)+(t[1]&&t[1].charAt(0)||"")},rt.clone=function(){return new j(this.string(),this.forceY)},q.toggle=function(t,i){var o=this.cache,n=this.options,r=this.tooltip;if(i){if(/over|enter/.test(i.type)&&/out|leave/.test(o.event.type)&&n.show.target.add(i.target).length===n.show.target.length&&r.has(i.relatedTarget).length)return this;o.event=d(i)}if(this.waiting&&!t&&(this.hiddenDuringWait=k),!this.rendered)return t?this.render(1):this;if(this.destroyed||this.disabled)return this;var a,h,l,c=t?"show":"hide",p=this.options[c],u=(this.options[t?"hide":"show"],this.options.position),f=this.options.content,g=this.tooltip.css("width"),m=this.tooltip.is(":visible"),v=t||1===p.target.length,y=!i||p.target.length<2||o.target[0]===i.target;return(typeof t).search("boolean|number")&&(t=!m),a=!r.is(":animated")&&m===t&&y,h=a?W:!!this._trigger(c,[90]),this.destroyed?this:(h!==I&&t&&this.focus(i),!h||a?this:(s.attr(r[0],"aria-hidden",!t),t?(o.origin=d(this.mouse),s.isFunction(f.text)&&this._updateContent(f.text,I),s.isFunction(f.title)&&this._updateTitle(f.title,I),!M&&"mouse"===u.target&&u.adjust.mouse&&(s(e).bind("mousemove."+R,this._storeMouse),M=k),g||r.css("width",r.outerWidth(I)),this.reposition(i,arguments[2]),g||r.css("width",""),p.solo&&("string"==typeof p.solo?s(p.solo):s(G,p.solo)).not(r).not(p.target).qtip("hide",s.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete o.origin,M&&!s(G+'[tracking="true"]:visible',p.solo).not(r).length&&(s(e).unbind("mousemove."+R),M=I),this.blur(i)),l=s.proxy(function(){t?(st.ie&&r[0].style.removeAttribute("filter"),r.css("overflow",""),"string"==typeof p.autofocus&&s(this.options.show.autofocus,r).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):r.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(t?"visible":"hidden")},this),p.effect===I||v===I?(r[c](),l()):s.isFunction(p.effect)?(r.stop(1,1),p.effect.call(r,this),r.queue("fx",function(t){l(),t()})):r.fadeTo(90,t?1:0,l),t&&p.target.trigger("qtip-"+this.id+"-inactive"),this))},q.show=function(t){return this.toggle(k,t)},q.hide=function(t){return this.toggle(I,t)},q.focus=function(t){if(!this.rendered||this.destroyed)return this;var e=s(G),i=this.tooltip,o=parseInt(i[0].style.zIndex,10),n=T.zindex+e.length;return i.hasClass(K)||this._trigger("focus",[n],t)&&(o!==n&&(e.each(function(){this.style.zIndex>o&&(this.style.zIndex=this.style.zIndex-1)}),e.filter("."+K).qtip("blur",t)),i.addClass(K)[0].style.zIndex=n),this},q.blur=function(t){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(K),this._trigger("blur",[this.tooltip.css("zIndex")],t),this)},q.disable=function(t){return this.destroyed?this:("toggle"===t?t=!(this.rendered?this.tooltip.hasClass(tt):this.disabled):"boolean"!=typeof t&&(t=k),this.rendered&&this.tooltip.toggleClass(tt,t).attr("aria-disabled",t),this.disabled=!!t,this)},q.enable=function(){return this.disable(I)},q._createButton=function(){var t=this,e=this.elements,i=e.tooltip,o=this.options.content.button,n="string"==typeof o,r=n?o:"Close tooltip";e.button&&e.button.remove(),e.button=o.jquery?o:s("<a />",{"class":"qtip-close "+(this.options.style.widget?"":R+"-icon"),title:r,"aria-label":r}).prepend(s("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"})),e.button.appendTo(e.titlebar||i).attr("role","button").click(function(e){return i.hasClass(tt)||t.hide(e),I})},q._updateButton=function(t){if(!this.rendered)return I;var e=this.elements.button;t?this._createButton():e.remove()},q._setWidget=function(){var t=this.options.style.widget,e=this.elements,i=e.tooltip,s=i.hasClass(tt);i.removeClass(tt),tt=t?"ui-state-disabled":"qtip-disabled",i.toggleClass(tt,s),i.toggleClass("ui-helper-reset "+c(),t).toggleClass(J,this.options.style.def&&!t),e.content&&e.content.toggleClass(c("content"),t),e.titlebar&&e.titlebar.toggleClass(c("header"),t),e.button&&e.button.toggleClass(R+"-icon",!t)},q._storeMouse=function(t){(this.mouse=d(t)).type="mousemove"},q._bind=function(t,e,i,o,n){var r="."+this._id+(o?"-"+o:"");e.length&&s(t).bind((e.split?e:e.join(r+" "))+r,s.proxy(i,n||this))},q._unbind=function(t,e){s(t).unbind("."+this._id+(e?"-"+e:""))};var at="."+R;s(function(){v(G,["mouseenter","mouseleave"],function(t){var e="mouseenter"===t.type,i=s(t.currentTarget),o=s(t.relatedTarget||t.target),n=this.options;e?(this.focus(t),i.hasClass(Q)&&!i.hasClass(tt)&&clearTimeout(this.timers.hide)):"mouse"===n.position.target&&n.hide.event&&n.show.target&&!o.closest(n.show.target[0]).length&&this.hide(t),i.toggleClass(Z,e)}),v("["+Y+"]",U,g)}),q._trigger=function(t,e,i){var o=s.Event("tooltip"+t);return o.originalEvent=i&&s.extend({},i)||this.cache.event||W,this.triggering=t,this.tooltip.trigger(o,[this].concat(e||[])),this.triggering=I,!o.isDefaultPrevented()},q._bindEvents=function(t,e,i,o,n,r){if(o.add(i).length===o.length){var a=[];e=s.map(e,function(e){var i=s.inArray(e,t);return i>-1?void a.push(t.splice(i,1)[0]):e}),a.length&&this._bind(i,a,function(t){var e=this.rendered?this.tooltip[0].offsetWidth>0:!1;(e?r:n).call(this,t)})}this._bind(i,t,n),this._bind(o,e,r)},q._assignInitialEvents=function(t){function e(t){return this.disabled||this.destroyed?I:(this.cache.event=d(t),this.cache.target=t?s(t.target):[i],clearTimeout(this.timers.show),void(this.timers.show=p.call(this,function(){this.render("object"==typeof t||o.show.ready)},o.show.delay)))}var o=this.options,n=o.show.target,r=o.hide.target,a=o.show.event?s.trim(""+o.show.event).split(" "):[],h=o.hide.event?s.trim(""+o.hide.event).split(" "):[];/mouse(over|enter)/i.test(o.show.event)&&!/mouse(out|leave)/i.test(o.hide.event)&&h.push("mouseleave"),this._bind(n,"mousemove",function(t){this._storeMouse(t),this.cache.onTarget=k}),this._bindEvents(a,h,n,r,e,function(){clearTimeout(this.timers.show)}),(o.show.ready||o.prerender)&&e.call(this,t)},q._assignEvents=function(){var i=this,o=this.options,n=o.position,r=this.tooltip,a=o.show.target,h=o.hide.target,l=n.container,c=n.viewport,d=s(e),p=(s(e.body),s(t)),v=o.show.event?s.trim(""+o.show.event).split(" "):[],y=o.hide.event?s.trim(""+o.hide.event).split(" "):[];s.each(o.events,function(t,e){i._bind(r,"toggle"===t?["tooltipshow","tooltiphide"]:["tooltip"+t],e,null,r)}),/mouse(out|leave)/i.test(o.hide.event)&&"window"===o.hide.leave&&this._bind(d,["mouseout","blur"],function(t){/select|option/.test(t.target.nodeName)||t.relatedTarget||this.hide(t)}),o.hide.fixed?h=h.add(r.addClass(Q)):/mouse(over|enter)/i.test(o.show.event)&&this._bind(h,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+o.hide.event).indexOf("unfocus")>-1&&this._bind(l.closest("html"),["mousedown","touchstart"],function(t){var e=s(t.target),i=this.rendered&&!this.tooltip.hasClass(tt)&&this.tooltip[0].offsetWidth>0,o=e.parents(G).filter(this.tooltip[0]).length>0;e[0]===this.target[0]||e[0]===this.tooltip[0]||o||this.target.has(e[0]).length||!i||this.hide(t)}),"number"==typeof o.hide.inactive&&(this._bind(a,"qtip-"+this.id+"-inactive",g),this._bind(h.add(r),T.inactiveEvents,g,"-inactive")),this._bindEvents(v,y,a,h,u,f),this._bind(a.add(r),"mousemove",function(t){if("number"==typeof o.hide.distance){var e=this.cache.origin||{},i=this.options.hide.distance,s=Math.abs;(s(t.pageX-e.pageX)>=i||s(t.pageY-e.pageY)>=i)&&this.hide(t)}this._storeMouse(t)}),"mouse"===n.target&&n.adjust.mouse&&(o.hide.event&&this._bind(a,["mouseenter","mouseleave"],function(t){this.cache.onTarget="mouseenter"===t.type}),this._bind(d,"mousemove",function(t){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(tt)&&this.tooltip[0].offsetWidth>0&&this.reposition(t)})),(n.adjust.resize||c.length)&&this._bind(s.event.special.resize?c:p,"resize",m),n.adjust.scroll&&this._bind(p.add(n.container),"scroll",m)},q._unassignEvents=function(){var i=[this.options.show.target[0],this.options.hide.target[0],this.rendered&&this.tooltip[0],this.options.position.container[0],this.options.position.viewport[0],this.options.position.container.closest("html")[0],t,e];this._unbind(s([]).pushStack(s.grep(i,function(t){return"object"==typeof t})))},T=s.fn.qtip=function(t,e,o){var n=(""+t).toLowerCase(),r=W,h=s.makeArray(arguments).slice(1),l=h[h.length-1],c=this[0]?s.data(this[0],R):W;return!arguments.length&&c||"api"===n?c:"string"==typeof t?(this.each(function(){var t=s.data(this,R);if(!t)return k;if(l&&l.timeStamp&&(t.cache.event=l),!e||"option"!==n&&"options"!==n)t[n]&&t[n].apply(t,h);else{if(o===i&&!s.isPlainObject(e))return r=t.get(e),I;t.set(e,o)}}),r!==W?r:this):"object"!=typeof t&&arguments.length?void 0:(c=a(s.extend(k,{},t)),this.each(function(t){var e,i;return i=s.isArray(c.id)?c.id[t]:c.id,i=!i||i===I||i.length<1||T.api[i]?T.nextid++:i,e=y(s(this),i,c),e===I?k:(T.api[i]=e,s.each(V,function(){"initialize"===this.initialize&&this(e)}),void e._assignInitialEvents(l))}))},s.qtip=o,T.api={},s.each({attr:function(t,e){if(this.length){var i=this[0],o="title",n=s.data(i,"qtip");if(t===o&&n&&"object"==typeof n&&n.options.suppress)return arguments.length<2?s.attr(i,it):(n&&n.options.content.attr===o&&n.cache.attr&&n.set("content.text",e),this.attr(it,e))}return s.fn["attr"+et].apply(this,arguments)},clone:function(t){var e=(s([]),s.fn["clone"+et].apply(this,arguments));return t||e.filter("["+it+"]").attr("title",function(){return s.attr(this,it)}).removeAttr(it),e}},function(t,e){if(!e||s.fn[t+et])return k;var i=s.fn[t+et]=s.fn[t];s.fn[t]=function(){return e.apply(this,arguments)||i.apply(this,arguments)}}),s.ui||(s["cleanData"+et]=s.cleanData,s.cleanData=function(t){for(var e,i=0;(e=s(t[i])).length;i++)if(e.attr(X))try{e.triggerHandler("removeqtip")}catch(o){}s["cleanData"+et].apply(this,arguments)}),T.version="2.2.0",T.nextid=0,T.inactiveEvents=U,T.zindex=100010,T.defaults={prerender:I,id:I,overwrite:k,suppress:k,content:{text:k,attr:"title",title:I,button:I},position:{my:"top left",at:"bottom right",target:I,container:I,viewport:I,adjust:{x:0,y:0,mouse:k,scroll:k,resize:k,method:"flipinvert flipinvert"},effect:function(t,e,i){s(this).animate(e,{duration:200,queue:I})}},show:{target:I,event:"mouseenter",effect:k,delay:90,solo:I,ready:I,autofocus:I},hide:{target:I,event:"mouseleave",effect:k,delay:0,fixed:I,inactive:I,leave:"window",distance:I},style:{classes:"",widget:I,width:I,height:I,def:k},events:{render:W,move:W,show:W,hide:W,toggle:W,visible:W,hidden:W,focus:W,blur:W}};var ht,lt="margin",ct="border",dt="color",pt="background-color",ut="transparent",ft=" !important",gt=!!e.createElement("canvas").getContext,mt=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,vt={},yt=["Webkit","O","Moz","ms"];if(gt)var bt=t.devicePixelRatio||1,wt=function(){var t=e.createElement("canvas").getContext("2d");return t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||1}(),xt=bt/wt;else var _t=function(t,e,i){return"<qtipvml:"+t+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(e||"")+' style="behavior: url(#default#VML); '+(i||"")+'" />'};s.extend(_.prototype,{init:function(t){var e,i;i=this.element=t.elements.tip=s("<div />",{"class":R+"-tip"}).prependTo(t.tooltip),gt?(e=s("<canvas />").appendTo(this.element)[0].getContext("2d"),e.lineJoin="miter",e.miterLimit=1e5,e.save()):(e=_t("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(e+e),t._bind(s("*",i).add(i),["click","mousedown"],function(t){t.stopPropagation()},this._ns)),t._bind(t.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(t){var e=this.qtip.elements.titlebar;return e&&(t.y===D||t.y===N&&this.element.position().top+this.size[1]/2+this.options.offset<e.outerHeight(k))},_parseCorner:function(t){var e=this.qtip.options.position.my;return t===I||e===I?t=I:t===k?t=new j(e.string()):t.string||(t=new j(t),t.fixed=k),t},_parseWidth:function(t,e,i){var s=this.qtip.elements,o=ct+b(e)+"Width";return(i?x(i,o):x(s.content,o)||x(this._useTitle(t)&&s.titlebar||s.content,o)||x(s.tooltip,o))||0},_parseRadius:function(t){var e=this.qtip.elements,i=ct+b(t.y)+b(t.x)+"Radius";return st.ie<9?0:x(this._useTitle(t)&&e.titlebar||e.content,i)||x(e.tooltip,i)||0},_invalidColour:function(t,e,i){var s=t.css(e);return!s||i&&s===t.css(i)||mt.test(s)?I:s},_parseColours:function(t){var e=this.qtip.elements,i=this.element.css("cssText",""),o=ct+b(t[t.precedance])+b(dt),n=this._useTitle(t)&&e.titlebar||e.content,r=this._invalidColour,a=[];return a[0]=r(i,pt)||r(n,pt)||r(e.content,pt)||r(e.tooltip,pt)||i.css(pt),a[1]=r(i,o,dt)||r(n,o,dt)||r(e.content,o,dt)||r(e.tooltip,o,dt)||e.tooltip.css(o),s("*",i).add(i).css("cssText",pt+":"+ut+ft+";"+ct+":0"+ft+";"),a},_calculateSize:function(t){var e,i,s,o=t.precedance===S,n=this.options.width,r=this.options.height,a="c"===t.abbrev(),h=(o?n:r)*(a?.5:1),l=Math.pow,c=Math.round,d=Math.sqrt(l(h,2)+l(r,2)),p=[this.border/h*d,this.border/r*d];return p[2]=Math.sqrt(l(p[0],2)-l(this.border,2)),p[3]=Math.sqrt(l(p[1],2)-l(this.border,2)),e=d+p[2]+p[3]+(a?0:p[0]),i=e/d,s=[c(i*n),c(i*r)],o?s:s.reverse()},_calculateTip:function(t,e,i){i=i||1,e=e||this.size;var s=e[0]*i,o=e[1]*i,n=Math.ceil(s/2),r=Math.ceil(o/2),a={br:[0,0,s,o,s,0],bl:[0,0,s,0,0,o],tr:[0,o,s,0,s,o],tl:[0,0,0,o,s,o],tc:[0,o,n,0,s,o],bc:[0,0,s,0,n,o],rc:[0,0,s,r,0,o],lc:[s,0,s,o,0,r]};return a.lt=a.br,a.rt=a.bl,a.lb=a.tr,a.rb=a.tl,a[t.abbrev()]},_drawCoords:function(t,e){t.beginPath(),t.moveTo(e[0],e[1]),t.lineTo(e[2],e[3]),t.lineTo(e[4],e[5]),t.closePath()},create:function(){var t=this.corner=(gt||st.ie)&&this._parseCorner(this.options.corner);return(this.enabled=!!this.corner&&"c"!==this.corner.abbrev())&&(this.qtip.cache.corner=t.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(e,i){if(!this.enabled)return this;var o,n,r,a,h,l,c,d,p=this.qtip.elements,u=this.element,f=u.children(),g=this.options,m=this.size,v=g.mimic,y=Math.round;e||(e=this.qtip.cache.corner||this.corner),v===I?v=e:(v=new j(v),v.precedance=e.precedance,"inherit"===v.x?v.x=e.x:"inherit"===v.y?v.y=e.y:v.x===v.y&&(v[e.precedance]=e[e.precedance])),n=v.precedance,e.precedance===E?this._swapDimensions():this._resetDimensions(),o=this.color=this._parseColours(e),o[1]!==ut?(d=this.border=this._parseWidth(e,e[e.precedance]),g.border&&1>d&&!mt.test(o[1])&&(o[0]=o[1]),this.border=d=g.border!==k?g.border:d):this.border=d=0,c=this.size=this._calculateSize(e),u.css({width:c[0],height:c[1],lineHeight:c[1]+"px"}),l=e.precedance===S?[y(v.x===B?d:v.x===F?c[0]-m[0]-d:(c[0]-m[0])/2),y(v.y===D?c[1]-m[1]:0)]:[y(v.x===B?c[0]-m[0]:0),y(v.y===D?d:v.y===P?c[1]-m[1]-d:(c[1]-m[1])/2)],gt?(r=f[0].getContext("2d"),r.restore(),r.save(),r.clearRect(0,0,6e3,6e3),a=this._calculateTip(v,m,xt),h=this._calculateTip(v,this.size,xt),f.attr(L,c[0]*xt).attr(A,c[1]*xt),f.css(L,c[0]).css(A,c[1]),this._drawCoords(r,h),r.fillStyle=o[1],r.fill(),r.translate(l[0]*xt,l[1]*xt),this._drawCoords(r,a),r.fillStyle=o[0],r.fill()):(a=this._calculateTip(v),a="m"+a[0]+","+a[1]+" l"+a[2]+","+a[3]+" "+a[4]+","+a[5]+" xe",l[2]=d&&/^(r|b)/i.test(e.string())?8===st.ie?2:1:0,f.css({coordsize:c[0]+d+" "+(c[1]+d),antialias:""+(v.string().indexOf(N)>-1),left:l[0]-l[2]*Number(n===E),top:l[1]-l[2]*Number(n===S),width:c[0]+d,height:c[1]+d}).each(function(t){var e=s(this);e[e.prop?"prop":"attr"]({coordsize:c[0]+d+" "+(c[1]+d),path:a,fillcolor:o[0],filled:!!t,stroked:!t}).toggle(!(!d&&!t)),!t&&e.html(_t("stroke",'weight="'+2*d+'px" color="'+o[1]+'" miterlimit="1000" joinstyle="miter"'))})),t.opera&&setTimeout(function(){p.tip.css({display:"inline-block",visibility:"visible"})},1),i!==I&&this.calculate(e,c)},calculate:function(t,e){if(!this.enabled)return I;var i,o,n=this,r=this.qtip.elements,a=this.element,h=this.options.offset,l=(r.tooltip.hasClass("ui-widget"),{});return t=t||this.corner,i=t.precedance,e=e||this._calculateSize(t),o=[t.x,t.y],i===E&&o.reverse(),s.each(o,function(s,o){var a,c,d;o===N?(a=i===S?B:D,l[a]="50%",l[lt+"-"+a]=-Math.round(e[i===S?0:1]/2)+h):(a=n._parseWidth(t,o,r.tooltip),c=n._parseWidth(t,o,r.content),d=n._parseRadius(t),l[o]=Math.max(-n.border,s?c:h+(d>a?d:-a)));
2
+
3
+ }),l[t[i]]-=e[i===E?0:1],a.css({margin:"",top:"",bottom:"",left:"",right:""}).css(l),l},reposition:function(t,e,s,o){function n(t,e,i,s,o){t===$&&c.precedance===e&&d[s]&&c[i]!==N?c.precedance=c.precedance===E?S:E:t!==$&&d[s]&&(c[e]=c[e]===N?d[s]>0?s:o:c[e]===s?o:s)}function r(t,e,o){c[t]===N?m[lt+"-"+e]=g[t]=a[lt+"-"+e]-d[e]:(h=a[o]!==i?[d[e],-a[e]]:[-d[e],a[e]],(g[t]=Math.max(h[0],h[1]))>h[0]&&(s[e]-=d[e],g[e]=I),m[a[o]!==i?o:e]=g[t])}if(this.enabled){var a,h,l=e.cache,c=this.corner.clone(),d=s.adjusted,p=e.options.position.adjust.method.split(" "),u=p[0],f=p[1]||p[0],g={left:I,top:I,x:0,y:0},m={};this.corner.fixed!==k&&(n(u,E,S,B,F),n(f,S,E,D,P),c.string()===l.corner.string()||l.cornerTop===d.top&&l.cornerLeft===d.left||this.update(c,I)),a=this.calculate(c),a.right!==i&&(a.left=-a.right),a.bottom!==i&&(a.top=-a.bottom),a.user=this.offset,(g.left=u===$&&!!d.left)&&r(E,B,F),(g.top=f===$&&!!d.top)&&r(S,D,P),this.element.css(m).toggle(!(g.x&&g.y||c.x===N&&g.y||c.y===N&&g.x)),s.left-=a.left.charAt?a.user:u!==$||g.top||!g.left&&!g.top?a.left+this.border:0,s.top-=a.top.charAt?a.user:f!==$||g.left||!g.left&&!g.top?a.top+this.border:0,l.cornerLeft=d.left,l.cornerTop=d.top,l.corner=c.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),ht=V.tip=function(t){return new _(t,t.options.style.tip)},ht.initialize="render",ht.sanitize=function(t){if(t.style&&"tip"in t.style){var e=t.style.tip;"object"!=typeof e&&(e=t.style.tip={corner:e}),/string|boolean/i.test(typeof e.corner)||(e.corner=k)}},z.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(t){this.size=[t.width,t.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},s.extend(k,T.defaults,{style:{tip:{corner:k,mimic:I,width:6,height:6,border:k,offset:0}}}),V.viewport=function(i,s,o,n,r,a,h){function l(t,e,i,o,n,r,a,h,l){var c=s[n],p=x[t],b=_[t],w=i===$,C=p===n?l:p===r?-l:-l/2,T=b===n?h:b===r?-h:-h/2,q=v[n]+y[n]-(f?0:u[n]),j=q-c,z=c+l-(a===L?g:m)-q,M=C-(x.precedance===t||p===x[e]?T:0)-(b===N?h/2:0);return w?(M=(p===n?1:-1)*C,s[n]+=j>0?j:z>0?-z:0,s[n]=Math.max(-u[n]+y[n],c-M,Math.min(Math.max(-u[n]+y[n]+(a===L?g:m),c+M),s[n],"center"===p?c-C:1e9))):(o*=i===O?2:0,j>0&&(p!==n||z>0)?(s[n]-=M+o,d.invert(t,n)):z>0&&(p!==r||j>0)&&(s[n]-=(p===N?-M:M)+o,d.invert(t,r)),s[n]<v&&-s[n]>z&&(s[n]=c,d=x.clone())),s[n]-c}var c,d,p,u,f,g,m,v,y,b=o.target,w=i.elements.tooltip,x=o.my,_=o.at,C=o.adjust,T=C.method.split(" "),q=T[0],j=T[1]||T[0],z=o.viewport,M=o.container,k=i.cache,W={left:0,top:0};return z.jquery&&b[0]!==t&&b[0]!==e.body&&"none"!==C.method?(u=M.offset()||W,f="static"===M.css("position"),c="fixed"===w.css("position"),g=z[0]===t?z.width():z.outerWidth(I),m=z[0]===t?z.height():z.outerHeight(I),v={left:c?0:z.scrollLeft(),top:c?0:z.scrollTop()},y=z.offset()||W,("shift"!==q||"shift"!==j)&&(d=x.clone()),W={left:"none"!==q?l(E,S,q,C.x,B,F,L,n,a):0,top:"none"!==j?l(S,E,j,C.y,D,P,A,r,h):0},d&&k.lastClass!==(p=R+"-pos-"+d.abbrev())&&w.removeClass(i.cache.lastClass).addClass(i.cache.lastClass=p),W):W},V.polys={polygon:function(t,e){var i,s,o,n={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:I},r=0,a=[],h=1,l=1,c=0,d=0;for(r=t.length;r--;)i=[parseInt(t[--r],10),parseInt(t[r+1],10)],i[0]>n.position.right&&(n.position.right=i[0]),i[0]<n.position.left&&(n.position.left=i[0]),i[1]>n.position.bottom&&(n.position.bottom=i[1]),i[1]<n.position.top&&(n.position.top=i[1]),a.push(i);if(s=n.width=Math.abs(n.position.right-n.position.left),o=n.height=Math.abs(n.position.bottom-n.position.top),"c"===e.abbrev())n.position={left:n.position.left+n.width/2,top:n.position.top+n.height/2};else{for(;s>0&&o>0&&h>0&&l>0;)for(s=Math.floor(s/2),o=Math.floor(o/2),e.x===B?h=s:e.x===F?h=n.width-s:h+=Math.floor(s/2),e.y===D?l=o:e.y===P?l=n.height-o:l+=Math.floor(o/2),r=a.length;r--&&!(a.length<2);)c=a[r][0]-n.position.left,d=a[r][1]-n.position.top,(e.x===B&&c>=h||e.x===F&&h>=c||e.x===N&&(h>c||c>n.width-h)||e.y===D&&d>=l||e.y===P&&l>=d||e.y===N&&(l>d||d>n.height-l))&&a.splice(r,1);n.position={left:a[0][0],top:a[0][1]}}return n},rect:function(t,e,i,s){return{width:Math.abs(i-t),height:Math.abs(s-e),position:{left:Math.min(t,i),top:Math.min(e,s)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(t,e,i,s,o){var n=V.polys._angles[o.abbrev()],r=0===n?0:i*Math.cos(n*Math.PI),a=s*Math.sin(n*Math.PI);return{width:2*i-Math.abs(r),height:2*s-Math.abs(a),position:{left:t+r,top:e+a},adjustable:I}},circle:function(t,e,i,s){return V.polys.ellipse(t,e,i,i,s)}},V.imagemap=function(t,e,i,o){e.jquery||(e=s(e));var n,r,a,h,l,c=e.attr("shape").toLowerCase().replace("poly","polygon"),d=s('img[usemap="#'+e.parent("map").attr("name")+'"]'),p=s.trim(e.attr("coords")),u=p.replace(/,$/,"").split(",");if(!d.length)return I;if("polygon"===c)h=V.polys.polygon(u,i);else{if(!V.polys[c])return I;for(a=-1,l=u.length,r=[];++a<l;)r.push(parseInt(u[a],10));h=V.polys[c].apply(this,r.concat(i))}return n=d.offset(),n.left+=Math.ceil((d.outerWidth(I)-d.width())/2),n.top+=Math.ceil((d.outerHeight(I)-d.height())/2),h.position.left+=n.left,h.position.top+=n.top,h},V.svg=function(t,i,o){for(var n,r,a,h,l,c,d,p,u,f,g,m=s(e),v=i[0],y=s(v.ownerSVGElement),b=1,w=1,x=!0;!v.getBBox;)v=v.parentNode;if(!v.getBBox||!v.parentNode)return I;n=y.attr("width")||y.width()||parseInt(y.css("width"),10),r=y.attr("height")||y.height()||parseInt(y.css("height"),10);var _=(parseInt(i.css("stroke-width"),10)||0)/2;switch(_&&(b+=_/n,w+=_/r),v.nodeName){case"ellipse":case"circle":f=V.polys.ellipse(v.cx.baseVal.value,v.cy.baseVal.value,(v.rx||v.r).baseVal.value+_,(v.ry||v.r).baseVal.value+_,o);break;case"line":case"polygon":case"polyline":for(u=v.points||[{x:v.x1.baseVal.value,y:v.y1.baseVal.value},{x:v.x2.baseVal.value,y:v.y2.baseVal.value}],f=[],p=-1,c=u.numberOfItems||u.length;++p<c;)d=u.getItem?u.getItem(p):u[p],f.push.apply(f,[d.x,d.y]);f=V.polys.polygon(f,o);break;default:f=v.getBoundingClientRect(),f={width:f.width,height:f.height,position:{left:f.left,top:f.top}},x=!1}return g=f.position,y=y[0],x&&(y.createSVGPoint&&(a=v.getScreenCTM(),u=y.createSVGPoint(),u.x=g.left,u.y=g.top,h=u.matrixTransform(a),g.left=h.x,g.top=h.y),y.viewBox&&(l=y.viewBox.baseVal)&&l.width&&l.height&&(b*=n/l.width,w*=r/l.height)),g.left+=m.scrollLeft(),g.top+=m.scrollTop(),f};var Ct,Tt,qt="qtip-modal",jt="."+qt;Tt=function(){function t(t){if(s.expr[":"].focusable)return s.expr[":"].focusable;var e,i,o,n=!isNaN(s.attr(t,"tabindex")),r=t.nodeName&&t.nodeName.toLowerCase();return"area"===r?(e=t.parentNode,i=e.name,t.href&&i&&"map"===e.nodeName.toLowerCase()?(o=s("img[usemap=#"+i+"]")[0],!!o&&o.is(":visible")):!1):/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||n:n}function i(t){c.length<1&&t.length?t.not("body").blur():c.first().focus()}function o(t){if(h.is(":visible")){var e,o=s(t.target),a=n.tooltip,l=o.closest(G);e=l.length<1?I:parseInt(l[0].style.zIndex,10)>parseInt(a[0].style.zIndex,10),e||o.closest(G)[0]===a[0]||i(o),r=t.target===c[c.length-1]}}var n,r,a,h,l=this,c={};s.extend(l,{init:function(){return h=l.elem=s("<div />",{id:"qtip-overlay",html:"<div></div>",mousedown:function(){return I}}).hide(),s(e.body).bind("focusin"+jt,o),s(e).bind("keydown"+jt,function(t){n&&n.options.show.modal.escape&&27===t.keyCode&&n.hide(t)}),h.bind("click"+jt,function(t){n&&n.options.show.modal.blur&&n.hide(t)}),l},update:function(e){n=e,c=e.options.show.modal.stealfocus!==I?e.tooltip.find("*").filter(function(){return t(this)}):[]},toggle:function(t,o,r){var c=(s(e.body),t.tooltip),d=t.options.show.modal,p=d.effect,u=o?"show":"hide",f=h.is(":visible"),g=s(jt).filter(":visible:not(:animated)").not(c);return l.update(t),o&&d.stealfocus!==I&&i(s(":focus")),h.toggleClass("blurs",d.blur),o&&h.appendTo(e.body),h.is(":animated")&&f===o&&a!==I||!o&&g.length?l:(h.stop(k,I),s.isFunction(p)?p.call(h,o):p===I?h[u]():h.fadeTo(parseInt(r,10)||90,o?1:0,function(){o||h.hide()}),o||h.queue(function(t){h.css({left:"",top:""}),s(jt).length||h.detach(),t()}),a=o,n.destroyed&&(n=W),l)}}),l.init()},Tt=new Tt,s.extend(C.prototype,{init:function(t){var e=t.tooltip;return this.options.on?(t.elements.overlay=Tt.elem,e.addClass(qt).css("z-index",T.modal_zindex+s(jt).length),t._bind(e,["tooltipshow","tooltiphide"],function(t,i,o){var n=t.originalEvent;if(t.target===e[0])if(n&&"tooltiphide"===t.type&&/mouse(leave|enter)/.test(n.type)&&s(n.relatedTarget).closest(Tt.elem[0]).length)try{t.preventDefault()}catch(r){}else(!n||n&&"tooltipsolo"!==n.type)&&this.toggle(t,"tooltipshow"===t.type,o)},this._ns,this),t._bind(e,"tooltipfocus",function(t,i){if(!t.isDefaultPrevented()&&t.target===e[0]){var o=s(jt),n=T.modal_zindex+o.length,r=parseInt(e[0].style.zIndex,10);Tt.elem[0].style.zIndex=n-1,o.each(function(){this.style.zIndex>r&&(this.style.zIndex-=1)}),o.filter("."+K).qtip("blur",t.originalEvent),e.addClass(K)[0].style.zIndex=n,Tt.update(i);try{t.preventDefault()}catch(a){}}},this._ns,this),void t._bind(e,"tooltiphide",function(t){t.target===e[0]&&s(jt).filter(":visible").not(e).last().qtip("focus",t)},this._ns,this)):this},toggle:function(t,e,i){return t&&t.isDefaultPrevented()?this:void Tt.toggle(this.qtip,!!e,i)},destroy:function(){this.qtip.tooltip.removeClass(qt),this.qtip._unbind(this.qtip.tooltip,this._ns),Tt.toggle(this.qtip,I),delete this.qtip.elements.overlay}}),Ct=V.modal=function(t){return new C(t,t.options.show.modal)},Ct.sanitize=function(t){t.show&&("object"!=typeof t.show.modal?t.show.modal={on:!!t.show.modal}:"undefined"==typeof t.show.modal.on&&(t.show.modal.on=k))},T.modal_zindex=T.zindex-200,Ct.initialize="render",z.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},s.extend(k,T.defaults,{show:{modal:{on:I,effect:k,blur:k,stealfocus:k,escape:k}}})})}(window,document);
assets/scss/admin/_mixins.scss ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Mixin */
2
+ @mixin vertical-align {
3
+ position: relative;
4
+ top: 50%;
5
+ -webkit-transform: translateY(-50%);
6
+ -ms-transform: translateY(-50%);
7
+ transform: translateY(-50%);
8
+ }
9
+
10
+ @mixin easing-transition {
11
+ -webkit-transition: 0.2s all linear;
12
+ -moz-transition: 0.2s all linear;
13
+ -o-transition: 0.2s all linear;
14
+ transition: 0.2s all linear;
15
+ }
16
+
17
+ @mixin modal-label {
18
+ font-weight: bold;
19
+ font-size: 14px;
20
+ margin: 0 0 8px;
21
+ padding: 0;
22
+ display: block;
23
+ position: relative;
24
+ }
25
+
26
+ @mixin field-description {
27
+ font-size: 13px;
28
+ padding: 5px 0 0;
29
+ margin: 0;
30
+ line-height: 18px;
31
+ font-style: italic;
32
+ color: #aaaaaa;
33
+ }
34
+
35
+ @mixin orange-button {
36
+ background: #FAA625;
37
+ border-color: #CE8617;
38
+ -webkit-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);
39
+ -moz-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);
40
+ box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);
41
+ color: #FFF;
42
+
43
+ &:hover, &:disabled {
44
+ color: #FFF;
45
+ background: #eb9e23;
46
+ border-color: #ba7915;
47
+ -webkit-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);
48
+ -moz-box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);
49
+ box-shadow: inset 0 1px 0 rgb(249, 198, 121), 0 1px 0 rgba(0, 0, 0, 0.15);
50
+ }
51
+ }
52
+
53
+ @mixin clearfix {
54
+
55
+ &:after {
56
+ content: "";
57
+ display: table;
58
+ clear: both;
59
+ }
60
+
61
+ }
62
+
63
+ $blue: #42A4F5;
64
+ $orange: #FAA627;
assets/scss/admin/builder.scss ADDED
@@ -0,0 +1,619 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Admin Settings Pages SCSS/CSS
3
+ *
4
+ * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+ #google-map-wrap {
11
+ position: relative;
12
+ border: 1px solid #DDD;
13
+ }
14
+
15
+ .hover-transition, .marker-icon-row .icon, .marker-row .marker-item {
16
+ @include easing-transition;
17
+ }
18
+
19
+ .box-sizing {
20
+ box-sizing: border-box;
21
+ -moz-box-sizing: border-box;
22
+ -webkit-box-sizing: border-box;
23
+ }
24
+
25
+ .cmb2-id-gmb-theme-json, #marker-icon-modal, .gmb-hidden {
26
+ display: none;
27
+ }
28
+
29
+ .marker-info-wrapper {
30
+ background-color: #F1F1F1;
31
+ margin: 8px 0 4px;
32
+ padding: 12px 12px 12px 12px;
33
+ font-size: 13px;
34
+ > div {
35
+ margin: 0 0 5px;
36
+ padding: 0;
37
+ }
38
+ > div.rating-wrap {
39
+ margin: 0;
40
+ padding: 0;
41
+ }
42
+ }
43
+
44
+ .repeatable-grouping {
45
+ .cmb-nested-table td {
46
+ padding-top: 3px;
47
+ pre textarea {
48
+ height: 50px;
49
+ }
50
+ }
51
+ .cmb-nested-table td pre {
52
+ margin: 0;
53
+ }
54
+ }
55
+
56
+ .new-window, span.new-window {
57
+ background: url('../img/new-window-icon.png') no-repeat right 3px transparent;
58
+ padding-right: 16px;
59
+ }
60
+
61
+ span.new-window {
62
+ padding-right: 0;
63
+ background-position: 0 0;
64
+ display: inline-block;
65
+ width: 10px;
66
+ height: 10px;
67
+ margin: 0 0 0 2px;
68
+ position: relative;
69
+ top: 1px;
70
+ }
71
+
72
+ .mfp-content #marker-icon-modal {
73
+ display: block;
74
+ }
75
+
76
+ /*Shortcode Input */
77
+
78
+ .shortcode-wrap {
79
+ margin: 1px 14px 12px 11px;
80
+ label {
81
+ margin: 0 0 3px;
82
+ display: block;
83
+ cursor: default;
84
+ }
85
+
86
+ .shortcode-input {
87
+ margin: 0;
88
+ width: 100%;
89
+ }
90
+ }
91
+
92
+ /*------------------------------------------
93
+ Messages
94
+ --------------------------------------------*/
95
+ .wpgp-message {
96
+ background-color: #FFF;
97
+ border-left: 4px solid #7AD03A;
98
+ -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
99
+ box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
100
+ box-sizing: border-box;
101
+ -webkit-box-sizing: border-box;
102
+ -moz-box-sizing: border-box;
103
+ padding: 1px 12px;
104
+ display: none;
105
+ }
106
+
107
+ .wpgp-message.warning-message {
108
+ border-left: 4px solid #d40000;
109
+ margin: 20px 0 0;
110
+ }
111
+
112
+ .wpgp-message p, .form-table td .wpgp-message p {
113
+ margin: .5em 0;
114
+ padding: 2px;
115
+ }
116
+
117
+ .places-change-message {
118
+ margin-bottom: 15px;
119
+ margin-right: 2px;
120
+ p {
121
+ float: left;
122
+ }
123
+ .button {
124
+ float: right;
125
+ margin-top: 5px;
126
+ }
127
+ }
128
+
129
+ #google-map-wrap .wpgp-message {
130
+ margin-top: 20px;
131
+ }
132
+
133
+ /*------------------------------------------
134
+ Google Map Metabox
135
+ --------------------------------------------*/
136
+ #cmb2-metabox-google_maps_preview_metabox > div {
137
+ padding: 5px 0 0;
138
+ margin: 0;
139
+ }
140
+
141
+ #map {
142
+ width: 100%;
143
+ margin: 0 auto;
144
+ }
145
+
146
+ .places-loading {
147
+ background: url('../img/spinner.gif') no-repeat center right transparent;
148
+ font-style: italic;
149
+ position: absolute;
150
+ top: -34px;
151
+ right: 31px;
152
+ padding: 0 25px 0 0;
153
+ display: none;
154
+ }
155
+
156
+ .cmb2-id-gmb-map-type td {
157
+ padding-bottom: 0;
158
+ }
159
+
160
+ .cmb2-id-gmb-map-type-control .cmb2-option {
161
+ margin: 5px 0 10px;
162
+ }
163
+
164
+ /*------------------------------------------
165
+ General Styles
166
+ --------------------------------------------*/
167
+ .cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox {
168
+ display: none;
169
+ }
170
+
171
+ #google_maps_details_options tr {
172
+ display: none;
173
+ }
174
+
175
+ #google_maps_details_options tr.cmb2-id-gmb-show-poi {
176
+ display: table-row;
177
+ }
178
+
179
+ .snazzy-link {
180
+ font-size: 10px;
181
+ text-transform: uppercase;
182
+ font-style: normal;
183
+ display: inline-block;
184
+ }
185
+
186
+ #width_height_wrap > div {
187
+ margin: 0 0 10px;
188
+ }
189
+
190
+ .inner-sidebar table.cmb_metabox label.size-label, #side-sortables table.cmb_metabox label.size-label, label.size-label {
191
+ font-weight: normal;
192
+ font-style: italic;
193
+ }
194
+
195
+ #poststuff h2.cmb-group-name {
196
+ @include modal-label;
197
+ }
198
+
199
+ /*------------------------------------------
200
+ Place Markers
201
+ --------------------------------------------*/
202
+ #infobubble-content {
203
+ padding: 0 0 0 0;
204
+ margin: 3px -20px 0 0;
205
+ min-width: 314px;
206
+ min-height: 80px;
207
+ height: 100%;
208
+ overflow: hidden;
209
+ box-sizing: border-box;
210
+ cursor: default;
211
+
212
+ p {
213
+ font-size: 12px;
214
+ margin: 0 0 7px;
215
+ color: #2C2C2C;
216
+ }
217
+ .place-title {
218
+ border: 1px solid #FFF;
219
+ font-family: Roboto, Arial, sans-serif;
220
+ font-size: 16px;
221
+ line-height: 21px;
222
+ font-weight: 700;
223
+ min-height: 21px;
224
+ white-space: normal;
225
+ padding-right: 20px;
226
+ }
227
+ .place-description {
228
+ white-space: normal;
229
+ }
230
+ }
231
+
232
+ .marker-confirm-place {
233
+ margin: 0 8px 4px 0;
234
+ display: inline-block;
235
+ }
236
+
237
+ .marker-confirm-place:hover {
238
+ cursor: pointer;
239
+ }
240
+
241
+ /* Hacky fix to prevent scrollbars */
242
+ #google_maps_preview_metabox .gm-style-iw, #google_maps_preview_metabox .gm-style-iw > div {
243
+ overflow: visible !important;
244
+ }
245
+
246
+ #google_maps_preview_metabox .gm-style-iw > div > div {
247
+ overflow: visible !important;
248
+ }
249
+
250
+ #infobubble-content {
251
+ overflow: hidden !important;
252
+ }
253
+
254
+ #infobubble-content.loading {
255
+ background: url('../img/loading-large.GIF') no-repeat center center #FFF;
256
+ }
257
+
258
+ #google-map-wrap div#infobubble-content > div {
259
+ white-space: normal;
260
+ }
261
+
262
+ /* Ratings */
263
+ #infobubble-content {
264
+ .rating-wrap {
265
+ overflow: hidden;
266
+ }
267
+ .numeric-rating {
268
+ font-size: 16px;
269
+ color: #DD4B39;
270
+ font-weight: 400;
271
+ float: left;
272
+ margin: 0 5px 0 0;
273
+ }
274
+ .star-rating-wrap {
275
+ background: url('../img/review_stars.png') no-repeat 0 0 transparent;
276
+ height: 13px;
277
+ width: 67px;
278
+ float: left;
279
+ margin: 4px 0 0;
280
+ }
281
+ .star-rating-size {
282
+ background: url('../img/review_stars.png') no-repeat 0 -13px transparent;
283
+ height: 13px;
284
+ }
285
+ }
286
+
287
+ /*------------------------------------------
288
+ Editable Marker
289
+ --------------------------------------------*/
290
+
291
+ #edit-toolbar {
292
+ list-style: none;
293
+ margin: 0;
294
+ padding: 0;
295
+ text-align: right;
296
+ > li {
297
+ margin: 0 4px;
298
+ cursor: pointer;
299
+ display: inline-block;
300
+ content: '';
301
+ height: 21px;
302
+ width: 21px;
303
+ opacity: .5;
304
+ background: url('../img/icons-infowindow-002.svg');
305
+ &:hover {
306
+ opacity: .75;
307
+ }
308
+
309
+ &.trash-marker {
310
+ background-position: -42px 0;
311
+ }
312
+
313
+ &.edit-info {
314
+ background: url('../img/icons-app-000.svg');
315
+ background-position: 21px 21px;
316
+ }
317
+
318
+ }
319
+
320
+ }
321
+
322
+ /*------------------------------------------
323
+ Display Options
324
+ --------------------------------------------*/
325
+
326
+ #lat-lng-wrap input[type=text].latitude, #lat-lng-wrap input[type=text].longitude,
327
+ #side-sortables #lat-lng-wrap input[type=text].latitude, #side-sortables #lat-lng-wrap input[type=text].longitude {
328
+ width: 100px;
329
+ float: left;
330
+ }
331
+
332
+ /* Mini message */
333
+
334
+ .lat-lng-change-message {
335
+ float: left;
336
+ clear: both;
337
+ margin: 10px 0 0;
338
+ width: 100%;
339
+ > p {
340
+ float: left;
341
+ }
342
+ }
343
+
344
+ .lat-lng-update-btn {
345
+ float: right;
346
+ margin: 7px 0 0 !important;
347
+ }
348
+
349
+ /*-------------------------------------
350
+ Save Info Window Toolbar
351
+ ---------------------------------------*/
352
+ #save-toolbar {
353
+ margin: 0;
354
+ padding: 0;
355
+ float: left;
356
+ > li {
357
+ display: inline-block;
358
+ margin: 0;
359
+ padding: 0;
360
+ &:first-child {
361
+ margin: 0 5px 0 0;
362
+ }
363
+ .google-btn {
364
+ width: 75px;
365
+ }
366
+ }
367
+ }
368
+
369
+ #infobubble-content .marker-edit-link-wrap {
370
+ a {
371
+ opacity: 0.5;
372
+ box-shadow: none;
373
+ outline: none;
374
+ width: 20px;
375
+ height: 20px;
376
+
377
+ &.marker-edit-link {
378
+ background: url('../img/marker-btn.png') no-repeat 0 0 transparent;
379
+ margin: 4px 0 0;
380
+ display: block;
381
+ float: right;
382
+ }
383
+
384
+ &:hover {
385
+ opacity: 1;
386
+ }
387
+
388
+ }
389
+ }
390
+
391
+ #save-toolbar > li .marker-edit-link {
392
+ opacity: 0.75;
393
+ }
394
+
395
+ #infobubble-content .edit-place-title {
396
+ width: 290px;
397
+ margin: 0 0 10px;
398
+ }
399
+
400
+ #infobubble-content .edit-place-description {
401
+ display: block;
402
+ font-size: 12px;
403
+ width: 100%;
404
+ min-height: 100px;
405
+ }
406
+
407
+ /*-------------------------------------
408
+ Map Edit Quick Toolbar
409
+ ---------------------------------------*/
410
+ #map-toolbar {
411
+ position: absolute;
412
+ left: 50%;
413
+ bottom: -1px;
414
+ transform: translateX(-50%);
415
+ background: #FFF;
416
+ padding: 3px 1px 0;
417
+ border-top: 1px solid #DDD;
418
+ border-left: 1px solid #DDD;
419
+ border-right: 1px solid #DDD;
420
+ min-width: 575px;
421
+
422
+ #title {
423
+ padding: 3px;
424
+ }
425
+
426
+ .drop-marker .dashicons {
427
+ margin: 5px 0 0;
428
+ }
429
+
430
+ button {
431
+ margin: 0 2px;
432
+ .dashicons {
433
+ font-size: 12px;
434
+ width: 12px;
435
+ margin: 5px 2px 0 -2px;
436
+ }
437
+ &.edit-title {
438
+ display: none; //only show in modal
439
+ }
440
+ }
441
+
442
+ //Lat Lng Update
443
+ .live-lat-lng-wrap {
444
+ border: 1px solid #DDD;
445
+ padding: 0;
446
+ margin: 0 2px;
447
+ display: inline-block;
448
+ width: 250px;
449
+ background-color: #FAFAFA;
450
+ height: 24px;
451
+ overflow: hidden;
452
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
453
+
454
+ .live-latitude-wrap, .live-longitude-wrap {
455
+ float: left;
456
+ margin-left: 6px;
457
+
458
+ span {
459
+ line-height: 22px;
460
+ float: left;
461
+ }
462
+ }
463
+
464
+ .live-longitude, .live-latitude {
465
+ font-size: 11px;
466
+ margin: 0;
467
+ padding: 0;
468
+ width: 60px;
469
+ white-space: nowrap;
470
+ overflow: hidden;
471
+ }
472
+ .live-longitude-label, .live-latitude-label {
473
+ font-size: 10px;
474
+ color: #AAA;
475
+ font-style: italic;
476
+ display: block;
477
+ padding: 0 2px 0 0;
478
+ }
479
+
480
+ button {
481
+ float: left;
482
+ margin: -2px 0 -2px -2px;
483
+ border-radius: 0;
484
+ height: 26px;
485
+ box-shadow: none;
486
+ &:hover {
487
+ box-shadow: none;
488
+ border-color: #cccccc;
489
+ }
490
+
491
+ }
492
+
493
+ }
494
+
495
+ }
496
+
497
+ //Hide on super small resolutions
498
+ @media(max-width: 900px) {
499
+ #map-toolbar {
500
+ display: none;
501
+ }
502
+ }
503
+
504
+ /*-------------------------------------
505
+ Modal styles
506
+ ---------------------------------------*/
507
+ .map-autocomplete-wrap,
508
+ .map-title-wrap {
509
+ label {
510
+ @include modal-label;
511
+ margin-bottom: 0;
512
+ }
513
+ p.cmb2-metabox-description {
514
+ padding: 8px 0;
515
+ }
516
+ input {
517
+ width: 100%;
518
+ }
519
+ }
520
+
521
+ .map-autocomplete-wrap label {
522
+ position: relative;
523
+ &:after {
524
+ content: ' ';
525
+ position: absolute;
526
+ bottom: 0;
527
+ left: 120px;
528
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
529
+ width: 104px;
530
+ height: 16px;
531
+ }
532
+ }
533
+
534
+ /*-------------------------------------
535
+ Google Style Buttons
536
+ ---------------------------------------*/
537
+ .google-btn {
538
+ -webkit-border-radius: 2px;
539
+ border-radius: 2px;
540
+ cursor: default;
541
+ font-weight: 300;
542
+ font-size: 13px;
543
+ text-align: center;
544
+ white-space: nowrap;
545
+ height: 27px;
546
+ line-height: 27px;
547
+ min-width: 54px;
548
+ outline: 0;
549
+ padding: 0 8px;
550
+
551
+ }
552
+
553
+ .google-btn-blue {
554
+ -webkit-box-shadow: none;
555
+ box-shadow: none;
556
+ background-color: #4D90FE;
557
+ background-image: -webkit-linear-gradient(top, #4D90FE, #4787ED);
558
+ background-image: linear-gradient(top, #4d90fe, #4787ed);
559
+ border: 1px solid #3079ED;
560
+ color: #FFF;
561
+ &:hover {
562
+ -webkit-box-shadow: none;
563
+ box-shadow: none;
564
+ background-color: #357AE8;
565
+ background-image: -webkit-linear-gradient(top, #4D90FE, #357AE8);
566
+ background-image: linear-gradient(top, #4d90fe, #357ae8);
567
+ border: 1px solid #2F5BB7;
568
+ border-bottom-color: #2F5BB7;
569
+ }
570
+ &:active, &:focus {
571
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
572
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
573
+ background: #357AE8;
574
+ border: 1px solid #2F5BB7;
575
+ border-top: 1px solid #2F5BB7;
576
+ }
577
+ }
578
+
579
+ .google-btn-default {
580
+ -webkit-box-shadow: none;
581
+ box-shadow: none;
582
+ background-color: #F5F5F5;
583
+ background-image: -webkit-linear-gradient(top, #F5F5F5, #F1F1F1);
584
+ background-image: linear-gradient(top, #f5f5f5, #f1f1f1);
585
+ color: #333;
586
+ border: 1px solid #DCDCDC;
587
+ border: 1px solid rgba(0, 0, 0, 0.1);
588
+
589
+ &:hover {
590
+ -webkit-box-shadow: none;
591
+ box-shadow: none;
592
+ background-color: #F8F8F8;
593
+ background-image: -webkit-linear-gradient(top, #F8F8F8, #F1F1F1);
594
+ background-image: linear-gradient(top, #f8f8f8, #f1f1f1);
595
+ border: 1px solid #C6C6C6;
596
+ color: #111;
597
+ }
598
+
599
+ &:active {
600
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
601
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
602
+ background: #F8F8F8;
603
+ color: #111;
604
+ }
605
+ }
606
+
607
+ /*-------------------------------------
608
+ Temporary Info Window
609
+ ---------------------------------------*/
610
+
611
+ .infowindow-toolbar {
612
+ display: block;
613
+ margin: 0;
614
+ padding: 8px 0 5px;
615
+ }
616
+
617
+ .add-marker {
618
+ text-decoration: none;
619
+ }
assets/scss/admin/cmb2-custom.scss ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * CMB2 Customized SCSS
3
+ *
4
+ * @description Here we customize the look-and-feel of CMB2 to suit GMB
5
+ * @package Give
6
+ * @subpackage SCSS/Admin
7
+ * @copyright Copyright (c) 2015, WordImpress
8
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+
11
+ /*------------------------------------------
12
+ CMB2 Interface
13
+ --------------------------------------------*/
14
+ .cmb2-id-gmb-places-search-multicheckbox {
15
+ ul {
16
+ overflow: hidden;
17
+ }
18
+ li {
19
+ float: left;
20
+ width: 33%;
21
+ }
22
+ .cmb2-metabox-description {
23
+ margin-top: 10px;
24
+ margin-right: 2px;
25
+ }
26
+ }
27
+
28
+ //Hide/Show some borders
29
+ #cmb2-metabox-google_maps_search_options .cmb2-id-gmb-show-places {
30
+ border-bottom: none !important;
31
+ margin-bottom: 0 !important;
32
+ }
33
+
34
+ #post-body-content #cmb2-metabox-google_maps_search_options .cmb2-id-gmb-search-radius, #post-body .cmb2-id-gmb-search-radius {
35
+ border-top: 1px solid #e9e9e9;
36
+ }
37
+
38
+ /*-------------------------------------
39
+ Autocomplete Metabox
40
+ ---------------------------------------*/
41
+ #cmb2-metabox-google_maps_markers {
42
+ .search-autocomplete {
43
+ width: 78%;
44
+ margin-right: 10px;
45
+ }
46
+ .autocomplete-wrap {
47
+ p {
48
+ @include field-description;
49
+ }
50
+ }
51
+
52
+ a.drop-marker {
53
+ font-style: normal;
54
+ .dashicons {
55
+ font-size: 14px;
56
+ margin: 4px 0 0;
57
+ width: 16px;
58
+ }
59
+ }
60
+ }
61
+
62
+ /*-------------------------------------
63
+ Map Markers
64
+ ---------------------------------------*/
65
+ #google_maps_markers {
66
+ .cmb-add-row {
67
+ display: none;
68
+ }
69
+ }
70
+
71
+ #poststuff .postbox-container {
72
+ .cmb-repeatable-group:not(:last-of-type) {
73
+ border-bottom: 1px solid #e9e9e9;
74
+ padding: 0 0 15px;
75
+ }
76
+ .cmb-repeat-group-wrap .cmb-row:not(:last-of-type) {
77
+ margin-bottom: 10px;
78
+ }
79
+ }
80
+
81
+ #gmb_markers_group_repeat.cmb-remove-field-row {
82
+ margin-bottom: 15px;
83
+ }
84
+
85
+ /*-------------------------------------
86
+ Sidebar
87
+ ---------------------------------------*/
88
+ #poststuff .inner-sidebar, #poststuff #side-sortables {
89
+
90
+ .inside {
91
+ margin-top: 0;
92
+ padding-top: 12px;
93
+ }
94
+
95
+ .cmb-row {
96
+ margin: 0 0 15px;
97
+ padding: 0;
98
+
99
+ &:not(:last-of-type) {
100
+ border-bottom: 0;
101
+ }
102
+
103
+ &:last-child, &:last-of-type {
104
+ margin-bottom: 5px;
105
+ }
106
+ }
107
+
108
+ .cmb-th {
109
+ background: transparent;
110
+ padding: 0;
111
+ position: relative;
112
+
113
+ label {
114
+ border: none;
115
+ &:after {
116
+ display: none;
117
+ }
118
+ }
119
+
120
+ }
121
+
122
+ .cmb-td {
123
+ //repeater
124
+ &.cmb-nested {
125
+ padding-left: 12px;
126
+ padding-right: 12px;
127
+ }
128
+ }
129
+
130
+ /*-------------------------------------
131
+ Sidebar Fields
132
+ ---------------------------------------*/
133
+ select {
134
+ width: 100%;
135
+ }
136
+ .lat-lng-wrap {
137
+ margin-top: 0;
138
+ }
139
+ .lat-lng-wrap.lng-wrap {
140
+ margin-bottom: 0;
141
+ }
142
+
143
+ .cmb2-metabox-description, p.cmb2-metabox-description {
144
+ @include field-description;
145
+ }
146
+
147
+ /*-------------------------------------
148
+ Sidebar Repeater Field Groups
149
+ ---------------------------------------*/
150
+ h2.cmb-group-name {
151
+ @include modal-label;
152
+ }
153
+
154
+ .cmb-repeatable-group {
155
+
156
+ .cmb-repeatable-grouping {
157
+ margin: 0 0 8px;
158
+ border: none;
159
+ border-radius: 5px;
160
+ overflow: hidden;
161
+
162
+ .cmb-group-title {
163
+ margin: 0;
164
+ padding: 8px 8px 8px 30px;
165
+ cursor: pointer;
166
+ background: $orange;
167
+ border: none;
168
+ color: #FFF;
169
+ font-weight: bold;
170
+ }
171
+ .cmbhandle {
172
+ color: #FFF;
173
+ }
174
+ .cmbhandle {
175
+ right: 0;
176
+ top: 0;
177
+ }
178
+
179
+ > .cmb-remove-group-row {
180
+ top: 6px;
181
+ color: #FFF;
182
+ }
183
+
184
+ }
185
+
186
+ .cmb-field-list {
187
+ border-left: 1px solid #EEE;
188
+ border-right: 1px solid #EEE;
189
+ }
190
+
191
+ .cmb-remove-row {
192
+ margin: 0;
193
+ padding: 0;
194
+ }
195
+
196
+ .cmb-add-row {
197
+ margin: 15px 0 10px;
198
+ }
199
+
200
+ }
201
+
202
+ .drop-marker {
203
+ margin-bottom: 15px;
204
+ }
205
+
206
+ }
207
+
208
+ //Non-magnific Builder Repeater styles
209
+ #postbox-container-2 #cmb2-metabox-google_maps_markers {
210
+
211
+ .toggle-repeater-groups {
212
+ float: right;
213
+ }
214
+
215
+ .cmb-repeat-group-wrap {
216
+ padding: 0;
217
+ }
218
+
219
+ .cmb-group-description .cmb-th {
220
+ padding-right: 0;
221
+ }
222
+
223
+ }
224
+
225
+ p.cmb2-metabox-description {
226
+ font-weight: normal;
227
+ }
228
+
229
+ a.wp-color-result {
230
+ height: 24px;
231
+ }
232
+
233
+ /*-------------------------------------
234
+ CMB2 within Magnific
235
+ ---------------------------------------*/
236
+
237
+ div.white-popup {
238
+ .cmb-th {
239
+ width: 100%;
240
+ padding: 0;
241
+ label {
242
+ @include modal-label;
243
+ }
244
+ }
245
+ .cmb-td {
246
+ width: 100%;
247
+ padding: 15px 0;
248
+ }
249
+
250
+ }
251
+
252
+ /*-------------------------------------
253
+ Tooltips
254
+ ---------------------------------------*/
255
+ .gmb-tooltip-field {
256
+ > div.cmb-th {
257
+ overflow: hidden;
258
+
259
+ label {
260
+ float: left;
261
+
262
+ }
263
+
264
+ .gmb-help-icon {
265
+ content: ' ';
266
+ background: url('../img/help.png') no-repeat 0 0 transparent;
267
+ background-size: 15px;
268
+ display: inline-block;
269
+ margin: 0 0 -2px 8px;
270
+ width: 16px;
271
+ height: 16px;
272
+ opacity: 0.4;
273
+ cursor: pointer;
274
+ @include easing-transition;
275
+ }
276
+
277
+ .gmb-help-icon:hover {
278
+ opacity: 1;
279
+ }
280
+
281
+ }
282
+ }
283
+
284
+ .gmb-tooltip-text {
285
+ display: none;
286
+ }
assets/scss/admin/gmb-admin.scss ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Admin SCSS/CSS
3
+ *
4
+ * @description: The Main SCSS file for admin styles which is compiled and minified via Gulp taskrunner
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+ @import '_mixins';
11
+ @import '../plugins/magnific';
12
+ @import '../plugins/grid';
13
+ @import '../plugins/qtip2';
14
+ @import 'magnific-builder';
15
+ @import 'builder';
16
+ @import 'cmb2-custom';
17
+ @import 'settings';
18
+ @import 'widget';
19
+ @import 'modal-markers';
assets/scss/admin/magnific-builder.scss ADDED
@@ -0,0 +1,317 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * CMB Magnific Builder SCSS
3
+ *
4
+ * @package Give
5
+ * @subpackage SCSS/Admin
6
+ * @copyright Copyright (c) 2015, WordImpress
7
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ */
9
+
10
+ //Display none things
11
+ .magnific-builder #titlediv, .magnific-builder #submitdiv, .magnific-builder #google_maps_preview_metabox .handlediv, .magnific-builder #google_maps_preview_metabox .ui-sortable-handle, .magnific-builder #post-body-content, .magnific-builder #marker-icon-modal {
12
+ display: none;
13
+ }
14
+
15
+ //Border none things
16
+ .magnific-builder #google_maps_preview_metabox {
17
+ border: none;
18
+ }
19
+
20
+ //No margin or padding things
21
+ .magnific-builder #google_maps_preview_metabox .inside {
22
+ margin: 0;
23
+ padding: 0;
24
+ }
25
+
26
+ /*-------------------------------------
27
+ Magnific Builder
28
+ ---------------------------------------*/
29
+ .magnific-builder#post {
30
+ position: relative;
31
+ margin: 20px;
32
+ padding: 0;
33
+ background: #EEE;
34
+ width: auto;
35
+ overflow: hidden;
36
+
37
+ #google-map-wrap {
38
+ border: none;
39
+ }
40
+
41
+ #poststuff {
42
+ padding-top: 0;
43
+ }
44
+
45
+ #cmb2-metabox-google_maps_preview_metabox {
46
+ > div {
47
+ padding-top: 0;
48
+ }
49
+ }
50
+ .magnific-builder#post .places-loading {
51
+ top: auto;
52
+ right: -175px;
53
+ bottom: 15px;
54
+ left: auto;
55
+ }
56
+
57
+ #map-toolbar {
58
+ min-width: 678px;
59
+ }
60
+ }
61
+
62
+ /*-------------------------------------
63
+ Magnific Builder Sidebar
64
+ ---------------------------------------*/
65
+
66
+ .magnific-builder#post {
67
+
68
+ #postbox-container-1 {
69
+ margin-left: 0;
70
+ padding: 90px 0 50px;
71
+ width: 300px !important;
72
+ background: url('../img/maps-builder-logo-small-non-pro.png') no-repeat 15px 15px transparent;
73
+
74
+ &:after {
75
+ content: ' ';
76
+ position: absolute;
77
+ bottom: 15px;
78
+ right: 130px;
79
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
80
+ width: 104px;
81
+ height: 16px;
82
+ }
83
+ /*-------------------------------------
84
+ Sidebar
85
+ ---------------------------------------*/
86
+ #side-sortables {
87
+ border-left: 1px solid #DDD;
88
+ border-bottom: 1px solid #DDD;
89
+ background-color: #F7F7F7;
90
+ overflow-y: auto;
91
+ overflow-x: hidden;
92
+ height: 100%;
93
+ min-height: 100%;
94
+ position: relative;
95
+
96
+ //Blue sections
97
+ .ui-sortable-handle {
98
+ background: $blue;
99
+ color: #FFF;
100
+
101
+ &:hover {
102
+ background: darken($blue, 10%);
103
+ }
104
+ }
105
+ .handlediv {
106
+ color: #FFF;
107
+ }
108
+
109
+ }
110
+
111
+ .magnific-submit {
112
+ position: absolute;
113
+ bottom: 10px;
114
+ right: 10px;
115
+ display: block;
116
+ }
117
+
118
+ /*-------------------------------------
119
+ Google Places
120
+ ---------------------------------------*/
121
+ #google_maps_search_options {
122
+
123
+ .cmb2-id-gmb-search-radius {
124
+ margin-top:15px;
125
+ border-top:none;
126
+ }
127
+
128
+ .cmb2-id-gmb-places-search-multicheckbox {
129
+ ul li {
130
+ width: 50%;
131
+ position: relative;
132
+ .cmb2-option {
133
+ position: absolute;
134
+ top: 0;
135
+ left: 0;
136
+ }
137
+ label {
138
+ padding-left: 25px;
139
+ display: block;
140
+ padding-right: 3px;
141
+ }
142
+ }
143
+ }
144
+ } //#google_maps_search_options
145
+
146
+ /*-------------------------------------
147
+ Map Markers
148
+ ---------------------------------------*/
149
+ a.drop-marker {
150
+ margin-top: 10px;
151
+ display: block;
152
+ width: 110px;
153
+ text-align: center;
154
+ }
155
+
156
+ .white-popup {
157
+ display: none;
158
+ }
159
+
160
+ .places-change-message .button {
161
+ margin-bottom: 10px;
162
+ float: left;
163
+ }
164
+
165
+ }
166
+
167
+ #post-body.columns-2 #side-sortables {
168
+ margin-right: 0;
169
+ width: 300px !important;
170
+ }
171
+
172
+ .postbox {
173
+ margin: 0;
174
+ border-left: none;
175
+ border-right: none;
176
+ border-bottom: none;
177
+
178
+ &:last-of-type {
179
+ border-bottom: 1px solid #DDD;
180
+ }
181
+ }
182
+
183
+ .toggle-repeater-groups {
184
+ display: block;
185
+ width: 140px;
186
+ text-align: center;
187
+ margin: 10px 0 0;
188
+ }
189
+ button.edit-title {
190
+ display: inline-block;
191
+ }
192
+ }
193
+
194
+ /* No Dragging */
195
+ .magnific-builder .postbox .hndle {
196
+ cursor: pointer;
197
+ &:hover {
198
+ color: #23282d;
199
+ background: #f5f5f5;
200
+ }
201
+ }
202
+
203
+ .magnific-builder#post .places-loading {
204
+ top: auto;
205
+ right: auto;
206
+ bottom: 0;
207
+ left: 0;
208
+ }
209
+
210
+ #wpbody-content .magnific-submit {
211
+ display: none;
212
+ }
213
+
214
+ /*-------------------------------------
215
+ Editor Button
216
+ ---------------------------------------*/
217
+ #map-builder {
218
+ margin: 5px 12px 10px;
219
+ display: block;
220
+ text-align: center;
221
+
222
+ span.dashicons {
223
+ position: relative;
224
+ top: 2px;
225
+ margin-right: 3px;
226
+ }
227
+
228
+ }
229
+
230
+ /*-------------------------------------
231
+ Modal within Modal
232
+ ---------------------------------------*/
233
+ .magnific-builder #poststuff .white-popup {
234
+ position: absolute;
235
+ max-width: none;
236
+ margin: 0;
237
+ padding: 0;
238
+ width: 100%;
239
+ height: 100%;
240
+ top: 0;
241
+ left: 0;
242
+ z-index: 100008;
243
+ opacity: 1;
244
+ background: rgba(88, 88, 88, 0.8);
245
+ -webkit-transition: all 0.3s;
246
+ -moz-transition: all 0.3s;
247
+ transition: all 0.3s;
248
+ overflow-y: auto;
249
+ display: table;
250
+ @include clearfix;
251
+
252
+ .inner-modal-wrap {
253
+ display: table-cell;
254
+ vertical-align: middle;
255
+
256
+ .inner-modal-container {
257
+ overflow-y: auto;
258
+ max-height: 100%;
259
+ }
260
+
261
+ .inner-modal {
262
+ max-width: 600px;
263
+ margin: 30px auto;
264
+ background: #FFF;
265
+ padding: 20px;
266
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.45);
267
+ position: relative;
268
+ }
269
+
270
+ }
271
+
272
+ .save-marker-icon {
273
+ position: relative;
274
+ border: none;
275
+ margin-top: 15px;
276
+ }
277
+
278
+ }
279
+
280
+ .pac-container {
281
+ z-index: 100020 !important;
282
+ }
283
+
284
+ button.gmb-modal-close {
285
+ border: none;
286
+ background-color: transparent;
287
+ color: #333;
288
+ cursor: pointer;
289
+ outline: none;
290
+ padding: 0;
291
+ z-index: 9999;
292
+ }
293
+
294
+ .map-modal-upsell {
295
+ display: none;
296
+ }
297
+
298
+ //Upsell
299
+ .mfp-container .map-modal-upsell {
300
+ display: block;
301
+ position: absolute;
302
+ top: 35px;
303
+ right: -261px;
304
+ text-align: center;
305
+
306
+ p {
307
+ font-size: 11px;
308
+ font-style: italic;
309
+ margin: 0 0 2px;
310
+ color: #AAA;
311
+ }
312
+
313
+ a.upsell-button {
314
+ width: 70px;
315
+ }
316
+
317
+ }
assets/scss/admin/modal-markers.scss ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*-------------------------------------
2
+ Marker Icon Modal
3
+ ---------------------------------------*/
4
+ #poststuff .marker-description-wrap {
5
+ margin-bottom: 20px;
6
+ border-bottom: 1px solid #DDD;
7
+ padding-bottom: 20px;
8
+ h3 {
9
+ font-size: 22px;
10
+ padding: 0;
11
+ margin: 0 0 15px;
12
+ }
13
+ p {
14
+ font-size: 16px;
15
+ font-style: italic;
16
+ color: #aaa;
17
+ margin-bottom: 0;
18
+ }
19
+ }
20
+
21
+ /*-------------------------------------
22
+ Marker Types
23
+ ---------------------------------------*/
24
+ #poststuff .marker-row, #poststuff .marker-icon-row, .marker-icon-row h3 {
25
+ h3 {
26
+ margin: 0 0 20px;
27
+ font-size: 18px;
28
+ padding: 0;
29
+ }
30
+ }
31
+
32
+ /*-------------------------------------
33
+ Marker Icon Rows
34
+ ---------------------------------------*/
35
+ .marker-icon-row {
36
+ margin-bottom: 10px;
37
+ }
38
+
39
+ .marker-icon-row, .save-marker-icon {
40
+ display: none;
41
+ }
42
+
43
+ .marker-icon-row .icon, .marker-row .marker-item {
44
+ width: 31%;
45
+ float: left;
46
+ font-size: 14px;
47
+ margin-bottom: 10px;
48
+ padding: 4px;
49
+ border-radius: 5px;
50
+ }
51
+
52
+ .icon-inner {
53
+ position: relative;
54
+ top: -8px;
55
+ }
56
+
57
+ .marker-icon-row .icon span {
58
+ font-size: 32px;
59
+ margin-right: 8px;
60
+ position: relative;
61
+ top: 8px;
62
+ }
63
+
64
+ .marker-icon-row .icon, .marker-row .marker-item, .maps-icon {
65
+ cursor: pointer;
66
+ border: 1px solid #FFF;
67
+ &:hover {
68
+ border: 1px solid #f4efd8;
69
+ background: #FFFAE2;
70
+ }
71
+ }
72
+
73
+ .marker-icon-row .marker-item-selected, .marker-item.marker-item-selected {
74
+ border: 1px solid #f4efd8;
75
+ background: #FFFAE2;
76
+ }
77
+
78
+ .marker-label {
79
+ z-index: 99;
80
+ position: absolute;
81
+ display: block;
82
+ margin-top: -50px;
83
+ margin-left: -25px;
84
+ width: 50px;
85
+ height: 50px;
86
+ font-size: 28px;
87
+ text-align: center;
88
+ color: #FFFFFF;
89
+ white-space: nowrap;
90
+ line-height: 1;
91
+ }
92
+
93
+ /*-------------------------------------
94
+ Colors
95
+ ---------------------------------------*/
96
+ .marker-row {
97
+ margin-bottom: 20px;
98
+ }
99
+
100
+ .marker-icon-modal {
101
+ .color-desc {
102
+ display: block;
103
+ clear: both;
104
+ font-size: 12px;
105
+ font-style: italic;
106
+ }
107
+ .marker-color-picker-wrap {
108
+ float: left;
109
+ }
110
+ }
111
+
112
+ /*-------------------------------------
113
+ Marker Selections
114
+ ---------------------------------------*/
115
+ .marker-row {
116
+ margin-bottom: 25px;
117
+
118
+ .marker-item {
119
+ float: left;
120
+ width: 31%;
121
+ text-align: center;
122
+ padding: 10px;
123
+ height: 100px;
124
+ margin: 0 1% 1% 0;
125
+ .marker-svg {
126
+ margin-top: 3px;
127
+ &.default-marker {
128
+ margin-top: 10px;
129
+ margin-bottom: 6px;
130
+ }
131
+ }
132
+ }
133
+ }
134
+
135
+ .marker-description-wrap h3, .marker-icon-row h3 {
136
+ margin-top: 0;
137
+ }
138
+
139
+ /*-------------------------------------
140
+ Map Icons
141
+ ---------------------------------------*/
142
+ .map-icons-list {
143
+ margin: 0 0 10px;
144
+ li {
145
+ float: left;
146
+ padding: 0;
147
+ a {
148
+ padding: 4px;
149
+ display: block;
150
+ box-shadow: none;
151
+ }
152
+ }
153
+ }
154
+
155
+ /* Save button */
156
+
157
+ .save-marker-icon {
158
+ background: #F1F1F1;
159
+ padding: 10px;
160
+ position: absolute;
161
+ bottom: 0;
162
+ left: 0;
163
+ width: 100%;
164
+ box-sizing: border-box;
165
+ -moz-box-sizing: border-box;
166
+ -webkit-box-sizing: border-box;
167
+ border-top: 1px solid #DFDFDF;
168
+ .save-text {
169
+ float: left;
170
+ font-style: italic;
171
+ margin: 6px 0 0 10px;
172
+ }
173
+ .button {
174
+ float: right;
175
+ }
176
+ }
177
+
178
+ .radius-label {
179
+ position: relative;
180
+ top: 35px;
181
+ color: #7dbee8;
182
+ }
183
+
184
+ /*-------------------------------------
185
+ Modal: Create a Marker
186
+ ---------------------------------------*/
187
+ .cmb2-id-gmb-geocoder.white-popup {
188
+
189
+ p.autocomplete-description {
190
+ display: none;
191
+ }
192
+
193
+ label{
194
+ margin:0;
195
+ padding:0;
196
+
197
+ &:after {
198
+ content: ' ';
199
+ position: absolute;
200
+ bottom: 0;
201
+ left: 105px;
202
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
203
+ width: 104px;
204
+ height: 16px;
205
+ }
206
+ }
207
+
208
+ .cmb-td {
209
+ padding: 0;
210
+
211
+ input {
212
+ width: 100%;
213
+ }
214
+
215
+ }
216
+ }
assets/scss/admin/settings.scss ADDED
@@ -0,0 +1,266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Admin Settings Pages SCSS/CSS
3
+ *
4
+ * @description: The Main SCSS file for admin SETTINGS styles which is compiled and minified via Gulp taskrunner
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+
11
+ .clear:before,
12
+ .clear:after {
13
+ content: " ";
14
+ display: table;
15
+ }
16
+
17
+ .clear:after {
18
+ clear: both;
19
+ }
20
+
21
+ .google_maps_page_gmb_settings {
22
+
23
+ .wrap {
24
+ margin-left: -5px;
25
+ }
26
+
27
+ table.form-table {
28
+ margin: 0 0 20px;
29
+ }
30
+
31
+ .gmb-submit-wrap {
32
+ clear: both;
33
+ background: #f5f5f5;
34
+ border-color: #dfdfdf;
35
+ overflow: auto;
36
+ margin: 20px 0 8px;
37
+ padding: 12px;
38
+ border-width: 1px;
39
+ border-style: solid;
40
+ font-size: 13px;
41
+ line-height: 2.1em;
42
+ }
43
+
44
+ .cmb-th {
45
+ width: 20%;
46
+ }
47
+
48
+ .cmb-td {
49
+ width: 80%;
50
+ }
51
+
52
+ }
53
+
54
+ /*---------------------------
55
+ Welcome Header
56
+ -----------------------------*/
57
+ .welcome-header {
58
+ margin-bottom: 20px;
59
+
60
+ .main-heading {
61
+ font-size: 36px;
62
+ font-weight: 400;
63
+ line-height: 1.1em;
64
+ margin: 10px 0 20px;
65
+ }
66
+
67
+ .main-subheading {
68
+ font-size: 20px;
69
+ line-height: 1.4em;
70
+ margin: 0;
71
+ }
72
+
73
+ .logo-svg {
74
+ margin: 15px 0 0;
75
+ svg {
76
+ height: 185px;
77
+ }
78
+ }
79
+
80
+ .logo-svg.logo-svg-small {
81
+ float: right;
82
+ margin: 0;
83
+ }
84
+
85
+ .new-window {
86
+ background: url('../img/new-window-icon.png') no-repeat right 5px transparent;
87
+ padding-right: 13px;
88
+ margin-right: 4px;
89
+ }
90
+
91
+ }
92
+
93
+ /*------------------------------------------
94
+ Welcome Closed heading
95
+ --------------------------------------------*/
96
+ .gmb-plugin-heading {
97
+ display: none;
98
+ + #Layer_1 {
99
+ width: auto;
100
+ height: 37px;
101
+ margin: 0 10px 0 5px;
102
+ }
103
+ }
104
+
105
+ a.button.gmb-orange-btn, .gmb-orange-btn {
106
+ @include orange-button;
107
+ }
108
+
109
+ #wpwrap .gmb-settings-header-btn {
110
+ margin: 5px 0 0;
111
+ }
112
+
113
+ /*------------------------------------------
114
+ Social Media
115
+ --------------------------------------------*/
116
+ .social-items-wrap {
117
+ float: left;
118
+ > div {
119
+ display: inline-block;
120
+ }
121
+
122
+ .fb-item-wrap {
123
+ width: 100px;
124
+ }
125
+ .twitter-item-wrap {
126
+ width: 145px;
127
+ }
128
+ .google-plus {
129
+ margin-left: 20px;
130
+ width: 200px;
131
+ }
132
+
133
+ .wordimpress-logo {
134
+ position: relative;
135
+ top: 10px;
136
+ left: -17px;
137
+ a {
138
+ display: block;
139
+ }
140
+ .logo-link {
141
+ background: url('../img/wordimpress-logo-small.png') no-repeat 0 0 transparent;
142
+ width: 100px;
143
+ height: 40px;
144
+ }
145
+ }
146
+
147
+ .gmb-settings-header-btn {
148
+ margin-top: -6px !important;
149
+ }
150
+
151
+ }
152
+
153
+ .hide-welcome {
154
+ margin: 21px 0 0 30px;
155
+ display: inline-block;
156
+
157
+ span {
158
+ background: url('../img/arrows.png') no-repeat 0 -33px rgba(0, 0, 0, 0);
159
+ width: 15px;
160
+ height: 14px;
161
+ display: inline-block;
162
+ margin-left: 3px;
163
+ }
164
+ }
165
+
166
+ .pull-left {
167
+ float: left;
168
+ }
169
+
170
+ .pull-right {
171
+ float: right;
172
+ }
173
+
174
+ .small-desc {
175
+ font-size: 12px;
176
+ font-style: italic;
177
+ color: #B3B3B3;
178
+ }
179
+
180
+ /*---------------------------
181
+ Map Options Tab
182
+ -----------------------------*/
183
+
184
+ .size-label {
185
+ margin: 8px 10px 0 0;
186
+ font-style: italic;
187
+ width: 50px;
188
+ }
189
+
190
+ .width_unit_label, .width_radio, .map-width, .map-height, .size-label, .radio-left, .label-left {
191
+ float: left !important;
192
+ }
193
+
194
+ /*---------------------------
195
+ Map Size
196
+ ----------------------------*/
197
+ .size-labels-wrap {
198
+ margin: 8px 0 0 10px;
199
+ padding: 0;
200
+ float: left;
201
+
202
+ input[type="radio"] {
203
+ margin-right: 0;
204
+ float: left;
205
+ }
206
+ label {
207
+ margin: 0 10px 0 0;
208
+ float: left;
209
+ }
210
+
211
+ }
212
+
213
+ .map-width, .map-height {
214
+ width: 55px !important
215
+ }
216
+
217
+ /*---------------------------
218
+ Lat/Lng
219
+ ----------------------------*/
220
+ #geolocate-wrap {
221
+ margin: 0 0 5px;
222
+ }
223
+
224
+ label.geocode-label {
225
+ width: 130px;
226
+ margin-right: 0;
227
+ }
228
+
229
+ label.yes-label {
230
+ margin-right: 10px;
231
+ }
232
+
233
+ .lat-lng-wrap {
234
+ margin: 10px 20px 10px 0;
235
+ clear: none;
236
+
237
+ > span, > input {
238
+ float: left;
239
+ }
240
+ > span {
241
+ margin: 8px 5px 0 0;
242
+ width: 80px;
243
+ font-style: italic;
244
+ font-weight:bold;
245
+ }
246
+
247
+ input[type=text].latitude, input[type=text].longitude {
248
+ width: 120px;
249
+ float: left;
250
+ }
251
+ }
252
+
253
+ /*---------------------------
254
+ General Options Tab
255
+ -----------------------------*/
256
+ #gmb_menu_position {
257
+ width: 40px;
258
+ }
259
+
260
+ /*---------------------------
261
+ System Settings Tab
262
+ -----------------------------*/
263
+ #system-info-textarea {
264
+ width: 100%;
265
+ height: 600px;
266
+ }
assets/scss/admin/widget.scss ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Widget
3
+ *
4
+ * @description: Admin styles for the widget
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+
11
+ /*----------------------------------------
12
+ Toggle Tips
13
+ -------------------------------------------*/
14
+
15
+ .gmb-tooltip-icon:before {
16
+ content: "\f223";
17
+ opacity: 0.5;
18
+
19
+ }
20
+
21
+ .gmb-tooltip-icon:hover:before {
22
+ opacity: 1;
23
+ }
24
+
25
+ .gmb-widget-upgrade {
26
+ .powered-by {
27
+ float:right;
28
+ background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
29
+ width: 104px;
30
+ height: 16px;
31
+ margin: 3px 0 0;
32
+ }
33
+ .button {
34
+ margin-bottom:8px;
35
+ }
36
+ }
assets/scss/frontend/infowindow.scss ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Info Bubble (window)
3
+ *
4
+ * @description:
5
+ * @package: GMB
6
+ * @subpackage: SCSS/Admin
7
+ * @copyright: Copyright (c) 2015, WordImpress
8
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ */
10
+
11
+ /* Loading */
12
+ #infobubble-content.loading {
13
+ background: url('../img/loading-large.gif') no-repeat center center #FFF;
14
+ }
15
+
16
+ #infobubble-content {
17
+ padding: 0 0 0 0;
18
+ margin: 0 -20px 0 0;
19
+ min-width: 314px;
20
+ min-height: 80px;
21
+ height: 100%;
22
+ overflow: hidden;
23
+ box-sizing: border-box;
24
+ cursor: default;
25
+
26
+ p {
27
+ font-size: 12px;
28
+ margin: 0 0 7px;
29
+ color: #2C2C2C;
30
+ }
31
+
32
+ .place-title {
33
+ border: 1px solid #FFF;
34
+ font-family: Roboto, Arial, sans-serif;
35
+ font-size: 16px;
36
+ line-height: 21px;
37
+ font-weight: 700;
38
+ min-height: 21px;
39
+ white-space: normal;
40
+ padding-right: 20px;
41
+ }
42
+
43
+ .place-description {
44
+ white-space: normal;
45
+ }
46
+ }
47
+
48
+ /* Place Details */
49
+ #infobubble-content {
50
+ .marker-info-wrapper {
51
+ background-color: #F1F1F1;
52
+ margin: 8px 0 4px;
53
+ padding: 12px 12px 12px 12px;
54
+ font-size: 13px;
55
+ }
56
+ .rating-wrap {
57
+ overflow: hidden;
58
+ margin: 4px 0 0;
59
+ }
60
+ .numeric-rating {
61
+ font-size: 16px;
62
+ color: #DD4B39;
63
+ font-weight: 400;
64
+ float: left;
65
+ margin: 0 5px 0 0;
66
+ line-height: 1;
67
+ }
68
+ .star-rating-wrap {
69
+ background: url('../img/review_stars.png') no-repeat 0 0 transparent;
70
+ height: 13px;
71
+ width: 67px;
72
+ float: left;
73
+ margin: 1px 0 0;
74
+
75
+ }
76
+ .star-rating-size {
77
+ background: url('../img/review_stars.png') no-repeat 0 -13px transparent;
78
+ height: 13px;
79
+ }
80
+
81
+ }
82
+
83
+ @media screen and (max-width: 440px) {
84
+ #infobubble-content {
85
+ min-width: inherit;
86
+ overflow: visible
87
+ }
88
+ }
89
+
90
+ /* Maps Icons */
91
+ div[id^='google-maps-builder'] .marker-label {
92
+ z-index: 99;
93
+ position: absolute;
94
+ display: block;
95
+ margin-top: -50px;
96
+ margin-left: -25px;
97
+ width: 50px;
98
+ height: 50px;
99
+ font-size: 28px;
100
+ text-align: center;
101
+ color: #FFFFFF;
102
+ white-space: nowrap;
103
+ line-height: 1;
104
+ }
assets/scss/frontend/maps-builder.scss ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Frontend
3
+ *
4
+ * @package: GMB
5
+ * @subpackage: SCSS/Admin
6
+ * @copyright: Copyright (c) 2015, WordImpress
7
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ */
9
+
10
+ @import 'maps';
11
+ @import 'infowindow';
assets/scss/frontend/maps.scss ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Maps Builder Frontend Maps
3
+ *
4
+ * @package: GMB
5
+ * @subpackage: SCSS/Admin
6
+ * @copyright: Copyright (c) 2015, WordImpress
7
+ * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ */
9
+ .google-maps-builder {
10
+ width: 100%;
11
+ height: 500px;
12
+ min-height: 275px;
13
+ }
14
+
15
+ div[id^='google-maps-builder'] {
16
+
17
+ div#infobubble-content > div {
18
+ white-space: normal;
19
+ }
20
+
21
+ .gm-style-iw, .gm-style-iw > div, .gm-style-iw > div > div {
22
+ overflow: visible !important;
23
+ }
24
+
25
+ }
26
+
27
+ /* This fixes issues some themes have with embedded Google Maps (like Twenty Twelve) */
28
+ div[id^='google-maps-builder'] img {
29
+ max-width: none;
30
+ box-shadow: none;
31
+ -moz-box-shadow: none;
32
+ -webkit-box-shadow: none;
33
+ }
admin/assets/css/grid.css → assets/scss/plugins/grid.scss RENAMED
File without changes
assets/scss/plugins/magnific.scss ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Magnific Popup CSS */
2
+ .mfp-bg {
3
+ top: 0;
4
+ left: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ z-index: 100000;
8
+ overflow: hidden;
9
+ position: fixed;
10
+ background: #0b0b0b;
11
+ opacity: 0.8;
12
+ filter: alpha(opacity=80);
13
+ }
14
+
15
+ .mfp-wrap {
16
+ top: 0;
17
+ left: 0;
18
+ width: 100%;
19
+ height: 100%;
20
+ z-index: 100001;
21
+ position: fixed;
22
+ outline: none !important;
23
+ -webkit-backface-visibility: hidden;
24
+ }
25
+
26
+ .mfp-container {
27
+ text-align: center;
28
+ position: absolute;
29
+ width: 100%;
30
+ height: 100%;
31
+ left: 0;
32
+ top: 0;
33
+ padding: 0;
34
+ -webkit-box-sizing: border-box;
35
+ -moz-box-sizing: border-box;
36
+ box-sizing: border-box;
37
+ }
38
+
39
+ .mfp-container:before {
40
+ content: '';
41
+ display: inline-block;
42
+ height: 100%;
43
+ vertical-align: middle;
44
+ }
45
+
46
+ .mfp-align-top .mfp-container:before {
47
+ display: none;
48
+ }
49
+
50
+ .mfp-content {
51
+ position: relative;
52
+ display: inline-block;
53
+ vertical-align: middle;
54
+ margin: 0 auto;
55
+ text-align: left;
56
+ z-index: 100003;
57
+ box-sizing: border-box;
58
+ }
59
+
60
+ .mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
61
+ width: 100%;
62
+ cursor: auto;
63
+ }
64
+
65
+ .mfp-ajax-cur {
66
+ cursor: progress;
67
+ }
68
+
69
+ .mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
70
+ cursor: -moz-zoom-out;
71
+ cursor: -webkit-zoom-out;
72
+ cursor: zoom-out;
73
+ }
74
+
75
+ .mfp-zoom {
76
+ cursor: pointer;
77
+ cursor: -webkit-zoom-in;
78
+ cursor: -moz-zoom-in;
79
+ cursor: zoom-in;
80
+ }
81
+
82
+ .mfp-auto-cursor .mfp-content {
83
+ cursor: auto;
84
+ }
85
+
86
+ .mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
87
+ -webkit-user-select: none;
88
+ -moz-user-select: none;
89
+ user-select: none;
90
+ }
91
+
92
+ .mfp-loading.mfp-figure {
93
+ display: none;
94
+ }
95
+
96
+ .mfp-hide {
97
+ display: none !important;
98
+ }
99
+
100
+ .mfp-preloader {
101
+ color: #CCC;
102
+ position: absolute;
103
+ top: 50%;
104
+ width: auto;
105
+ text-align: center;
106
+ margin-top: -0.8em;
107
+ left: 8px;
108
+ right: 8px;
109
+ z-index: 100004;
110
+ }
111
+
112
+ .mfp-preloader a {
113
+ color: #CCC;
114
+ }
115
+
116
+ .mfp-preloader a:hover {
117
+ color: #FFF;
118
+ }
119
+
120
+ .mfp-s-ready .mfp-preloader {
121
+ display: none;
122
+ }
123
+
124
+ .mfp-s-error .mfp-content {
125
+ display: none;
126
+ }
127
+
128
+ button.mfp-close, button.mfp-arrow {
129
+ overflow: visible;
130
+ cursor: pointer;
131
+ background: transparent;
132
+ border: 0;
133
+ -webkit-appearance: none;
134
+ display: block;
135
+ outline: none;
136
+ padding: 0;
137
+ z-index: 100005;
138
+ -webkit-box-shadow: none;
139
+ box-shadow: none;
140
+ }
141
+
142
+ button::-moz-focus-inner {
143
+ padding: 0;
144
+ border: 0;
145
+ }
146
+
147
+ .mfp-close, button.gmb-modal-close {
148
+ width: 44px;
149
+ height: 44px;
150
+ line-height: 44px;
151
+ position: absolute;
152
+ right: 0;
153
+ top: 0;
154
+ text-decoration: none;
155
+ text-align: center;
156
+ opacity: 0.65;
157
+ filter: alpha(opacity=65);
158
+ padding: 0 0 18px 10px;
159
+ color: #FFF;
160
+ font-style: normal;
161
+ font-size: 28px;
162
+ font-family: Arial, Baskerville, monospace;
163
+ }
164
+
165
+ .mfp-close:hover, .mfp-close:focus, button.gmb-modal-close:hover, button.gmb-modal-close:focus {
166
+ opacity: 1;
167
+ filter: alpha(opacity=100);
168
+ }
169
+
170
+ .mfp-close:active {
171
+ top: 1px;
172
+ }
173
+
174
+ .mfp-close-btn-in .mfp-close {
175
+ color: #333;
176
+ }
177
+
178
+ .mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
179
+ color: #FFF;
180
+ right: -6px;
181
+ text-align: right;
182
+ padding-right: 6px;
183
+ width: 100%;
184
+ }
185
+
186
+ .mfp-counter {
187
+ position: absolute;
188
+ top: 0;
189
+ right: 0;
190
+ color: #CCC;
191
+ font-size: 12px;
192
+ line-height: 18px;
193
+ white-space: nowrap;
194
+ }
195
+
196
+ .mfp-arrow {
197
+ position: absolute;
198
+ opacity: 0.65;
199
+ filter: alpha(opacity=65);
200
+ margin: 0;
201
+ top: 50%;
202
+ margin-top: -55px;
203
+ padding: 0;
204
+ width: 90px;
205
+ height: 110px;
206
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
207
+ }
208
+
209
+ .mfp-arrow:active {
210
+ margin-top: -54px;
211
+ }
212
+
213
+ .mfp-arrow:hover, .mfp-arrow:focus {
214
+ opacity: 1;
215
+ filter: alpha(opacity=100);
216
+ }
217
+
218
+ .mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
219
+ content: '';
220
+ display: block;
221
+ width: 0;
222
+ height: 0;
223
+ position: absolute;
224
+ left: 0;
225
+ top: 0;
226
+ margin-top: 35px;
227
+ margin-left: 35px;
228
+ border: medium inset transparent;
229
+ }
230
+
231
+ .mfp-arrow:after, .mfp-arrow .mfp-a {
232
+ border-top-width: 13px;
233
+ border-bottom-width: 13px;
234
+ top: 8px;
235
+ }
236
+
237
+ .mfp-arrow:before, .mfp-arrow .mfp-b {
238
+ border-top-width: 21px;
239
+ border-bottom-width: 21px;
240
+ opacity: 0.7;
241
+ }
242
+
243
+ .mfp-arrow-left {
244
+ left: 0;
245
+ }
246
+
247
+ .mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
248
+ border-right: 17px solid #FFF;
249
+ margin-left: 31px;
250
+ }
251
+
252
+ .mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
253
+ margin-left: 25px;
254
+ border-right: 27px solid #3F3F3F;
255
+ }
256
+
257
+ .mfp-arrow-right {
258
+ right: 0;
259
+ }
260
+
261
+ .mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
262
+ border-left: 17px solid #FFF;
263
+ margin-left: 39px;
264
+ }
265
+
266
+ .mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
267
+ border-left: 27px solid #3F3F3F;
268
+ }
269
+
270
+ .mfp-iframe-holder {
271
+ padding-top: 40px;
272
+ padding-bottom: 40px;
273
+ }
274
+
275
+ .mfp-iframe-holder .mfp-content {
276
+ line-height: 0;
277
+ width: 100%;
278
+ max-width: 900px;
279
+ }
280
+
281
+ .mfp-iframe-holder .mfp-close {
282
+ top: -40px;
283
+ }
284
+
285
+ .mfp-iframe-scaler {
286
+ width: 100%;
287
+ height: 0;
288
+ overflow: hidden;
289
+ padding-top: 56.25%;
290
+ }
291
+
292
+ .mfp-iframe-scaler iframe {
293
+ position: absolute;
294
+ display: block;
295
+ top: 0;
296
+ left: 0;
297
+ width: 100%;
298
+ height: 100%;
299
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
300
+ background: #000;
301
+ }
302
+
303
+ /* Main image in popup */
304
+ img.mfp-img {
305
+ width: auto;
306
+ max-width: 100%;
307
+ height: auto;
308
+ display: block;
309
+ line-height: 0;
310
+ -webkit-box-sizing: border-box;
311
+ -moz-box-sizing: border-box;
312
+ box-sizing: border-box;
313
+ padding: 40px 0 40px;
314
+ margin: 0 auto;
315
+ }
316
+
317
+ /* The shadow behind the image */
318
+ .mfp-figure {
319
+ line-height: 0;
320
+ }
321
+
322
+ .mfp-figure:after {
323
+ content: '';
324
+ position: absolute;
325
+ left: 0;
326
+ top: 40px;
327
+ bottom: 40px;
328
+ display: block;
329
+ right: 0;
330
+ width: auto;
331
+ height: auto;
332
+ z-index: -1;
333
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
334
+ background: #444;
335
+ }
336
+
337
+ .mfp-figure small {
338
+ color: #BDBDBD;
339
+ display: block;
340
+ font-size: 12px;
341
+ line-height: 14px;
342
+ }
343
+
344
+ .mfp-figure figure {
345
+ margin: 0;
346
+ }
347
+
348
+ .mfp-bottom-bar {
349
+ margin-top: -36px;
350
+ position: absolute;
351
+ top: 100%;
352
+ left: 0;
353
+ width: 100%;
354
+ cursor: auto;
355
+ }
356
+
357
+ .mfp-title {
358
+ text-align: left;
359
+ line-height: 18px;
360
+ color: #F3F3F3;
361
+ word-wrap: break-word;
362
+ padding-right: 36px;
363
+ }
364
+
365
+ .mfp-image-holder .mfp-content {
366
+ max-width: 100%;
367
+ }
368
+
369
+ .mfp-gallery .mfp-image-holder .mfp-figure {
370
+ cursor: pointer;
371
+ }
372
+
373
+ @media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
374
+ /**
375
+ * Remove all paddings around the image on small screen
376
+ */
377
+ .mfp-img-mobile .mfp-image-holder {
378
+ padding-left: 0;
379
+ padding-right: 0;
380
+ }
381
+
382
+ .mfp-img-mobile img.mfp-img {
383
+ padding: 0;
384
+ }
385
+
386
+ .mfp-img-mobile .mfp-figure:after {
387
+ top: 0;
388
+ bottom: 0;
389
+ }
390
+
391
+ .mfp-img-mobile .mfp-figure small {
392
+ display: inline;
393
+ margin-left: 5px;
394
+ }
395
+
396
+ .mfp-img-mobile .mfp-bottom-bar {
397
+ background: rgba(0, 0, 0, 0.6);
398
+ bottom: 0;
399
+ margin: 0;
400
+ top: auto;
401
+ padding: 3px 5px;
402
+ position: fixed;
403
+ -webkit-box-sizing: border-box;
404
+ -moz-box-sizing: border-box;
405
+ box-sizing: border-box;
406
+ }
407
+
408
+ .mfp-img-mobile .mfp-bottom-bar:empty {
409
+ padding: 0;
410
+ }
411
+
412
+ .mfp-img-mobile .mfp-counter {
413
+ right: 5px;
414
+ top: 3px;
415
+ }
416
+
417
+ .mfp-img-mobile .mfp-close {
418
+ top: 0;
419
+ right: 0;
420
+ width: 35px;
421
+ height: 35px;
422
+ line-height: 35px;
423
+ background: rgba(0, 0, 0, 0.6);
424
+ position: fixed;
425
+ text-align: center;
426
+ padding: 0;
427
+ }
428
+ }
429
+
430
+ @media all and (max-width: 900px) {
431
+ .mfp-arrow {
432
+ -webkit-transform: scale(0.75);
433
+ transform: scale(0.75);
434
+ }
435
+
436
+ .mfp-arrow-left {
437
+ -webkit-transform-origin: 0;
438
+ transform-origin: 0;
439
+ }
440
+
441
+ .mfp-arrow-right {
442
+ -webkit-transform-origin: 100%;
443
+ transform-origin: 100%;
444
+ }
445
+
446
+ .mfp-container {
447
+ padding: 0;
448
+ }
449
+ }
450
+
451
+ .mfp-ie7 .mfp-img {
452
+ padding: 0;
453
+ }
454
+
455
+ .mfp-ie7 .mfp-bottom-bar {
456
+ width: 600px;
457
+ left: 50%;
458
+ margin-left: -300px;
459
+ margin-top: 5px;
460
+ padding-bottom: 5px;
461
+ }
462
+
463
+ .mfp-ie7 .mfp-container {
464
+ padding: 0;
465
+ }
466
+
467
+ .mfp-ie7 .mfp-content {
468
+ padding-top: 44px;
469
+ }
470
+
471
+ .mfp-ie7 .mfp-close {
472
+ top: 0;
473
+ right: 0;
474
+ padding-top: 0;
475
+ }
476
+
477
+ .white-popup {
478
+ position: relative;
479
+ background: #FFF;
480
+ padding: 20px;
481
+ width: auto;
482
+ max-width: 600px;
483
+ margin: 20px auto;
484
+ @include clearfix;
485
+ }
486
+
487
+ .white-popup.marker-icon-modal {
488
+ padding-bottom:50px;
489
+ }
admin/includes/tooltips/jquery.qtip.css → assets/scss/plugins/qtip2.scss RENAMED
@@ -18,7 +18,7 @@
18
 
19
  max-width: 280px;
20
  min-width: 50px;
21
-
22
  font-size: 10.5px;
23
  line-height: 12px;
24
 
@@ -65,7 +65,7 @@
65
  right: 4px; top: 50%;
66
  margin-top: -9px;
67
  }
68
-
69
  * html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */
70
 
71
  .qtip-titlebar .ui-icon,
@@ -120,7 +120,7 @@
120
  background: #F1F1F1;
121
  color: #777;
122
  }
123
-
124
  .qtip-default .qtip-titlebar .qtip-close{
125
  border-color: #AAA;
126
  color: #111;
@@ -154,7 +154,7 @@
154
  -moz-border-radius: 2px;
155
  -webkit-border-radius: 2px;
156
  border-radius: 2px;
157
-
158
  -webkit-box-shadow: 0 0 3px #333;
159
  -moz-box-shadow: 0 0 3px #333;
160
  box-shadow: 0 0 3px #333;
@@ -174,11 +174,11 @@
174
  background-color: #4A4A4A;
175
  background-color: rgba(0,0,0,0);
176
  }
177
-
178
  .qtip-youtube .qtip-content{
179
  padding: .75em;
180
  font: 12px arial,sans-serif;
181
-
182
  filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);
183
  -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);";
184
  }
@@ -257,11 +257,11 @@
257
  color: white;
258
  border: 0 dashed transparent;
259
  }
260
-
261
  .qtip-cluetip .qtip-icon{
262
  border-color: #808064;
263
  }
264
-
265
  .qtip-cluetip .qtip-titlebar .ui-state-hover{
266
  border-color: #696952;
267
  color: #696952;
@@ -291,7 +291,7 @@
291
  .qtip-tipsy .qtip-content{
292
  padding: 6px 10px;
293
  }
294
-
295
  .qtip-tipsy .qtip-icon{
296
  border-color: #222;
297
  text-shadow: none;
@@ -462,7 +462,7 @@
462
  margin: 0 auto;
463
  overflow: hidden;
464
  z-index: 10;
465
-
466
  }
467
 
468
  /* Opera bug #357 - Incorrect tip position
@@ -480,7 +480,7 @@
480
  background: transparent;
481
  border: 0 dashed transparent;
482
  }
483
-
484
  .qtip .qtip-tip canvas{ top: 0; left: 0; }
485
 
486
  .qtip .qtip-tip .qtip-vml{
18
 
19
  max-width: 280px;
20
  min-width: 50px;
21
+
22
  font-size: 10.5px;
23
  line-height: 12px;
24
 
65
  right: 4px; top: 50%;
66
  margin-top: -9px;
67
  }
68
+
69
  * html .qtip-titlebar .qtip-close{ top: 16px; } /* IE fix */
70
 
71
  .qtip-titlebar .ui-icon,
120
  background: #F1F1F1;
121
  color: #777;
122
  }
123
+
124
  .qtip-default .qtip-titlebar .qtip-close{
125
  border-color: #AAA;
126
  color: #111;
154
  -moz-border-radius: 2px;
155
  -webkit-border-radius: 2px;
156
  border-radius: 2px;
157
+
158
  -webkit-box-shadow: 0 0 3px #333;
159
  -moz-box-shadow: 0 0 3px #333;
160
  box-shadow: 0 0 3px #333;
174
  background-color: #4A4A4A;
175
  background-color: rgba(0,0,0,0);
176
  }
177
+
178
  .qtip-youtube .qtip-content{
179
  padding: .75em;
180
  font: 12px arial,sans-serif;
181
+
182
  filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);
183
  -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);";
184
  }
257
  color: white;
258
  border: 0 dashed transparent;
259
  }
260
+
261
  .qtip-cluetip .qtip-icon{
262
  border-color: #808064;
263
  }
264
+
265
  .qtip-cluetip .qtip-titlebar .ui-state-hover{
266
  border-color: #696952;
267
  color: #696952;
291
  .qtip-tipsy .qtip-content{
292
  padding: 6px 10px;
293
  }
294
+
295
  .qtip-tipsy .qtip-icon{
296
  border-color: #222;
297
  text-shadow: none;
462
  margin: 0 auto;
463
  overflow: hidden;
464
  z-index: 10;
465
+
466
  }
467
 
468
  /* Opera bug #357 - Incorrect tip position
480
  background: transparent;
481
  border: 0 dashed transparent;
482
  }
483
+
484
  .qtip .qtip-tip canvas{ top: 0; left: 0; }
485
 
486
  .qtip .qtip-tip .qtip-vml{
assets/scss/plugins/tipsy.scss ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*----------------------------------------
2
+ Tipsy
3
+ -------------------------------------------*/
4
+ .tooltip-info {
5
+ cursor: help;
6
+ margin: -3px 0 0 5px;
7
+ position: relative;
8
+ top: 3px;
9
+ }
10
+
11
+ .tipsy {
12
+ font-size: 10px;
13
+ position: absolute;
14
+ padding: 5px;
15
+ z-index: 100000;
16
+ }
17
+
18
+ .tipsy-inner {
19
+ background-color: #000;
20
+ color: #FFF;
21
+ max-width: 200px;
22
+ padding: 5px 8px 4px 8px;
23
+ text-align: center;
24
+ }
25
+
26
+ /* Rounded corners */
27
+ .tipsy-inner {
28
+ border-radius: 3px;
29
+ -moz-border-radius: 3px;
30
+ -webkit-border-radius: 3px;
31
+ }
32
+
33
+ /* Uncomment for shadow */
34
+ /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/
35
+
36
+ .tipsy-arrow {
37
+ position: absolute;
38
+ width: 0;
39
+ height: 0;
40
+ line-height: 0;
41
+ border: 5px dashed #000;
42
+ }
43
+
44
+ /* Rules to colour arrows */
45
+ .tipsy-arrow-n {
46
+ border-bottom-color: #000;
47
+ }
48
+
49
+ .tipsy-arrow-s {
50
+ border-top-color: #000;
51
+ }
52
+
53
+ .tipsy-arrow-e {
54
+ border-left-color: #000;
55
+ }
56
+
57
+ .tipsy-arrow-w {
58
+ border-right-color: #000;
59
+ }
60
+
61
+ .tipsy-n .tipsy-arrow {
62
+ top: 0px;
63
+ left: 50%;
64
+ margin-left: -5px;
65
+ border-bottom-style: solid;
66
+ border-top: none;
67
+ border-left-color: transparent;
68
+ border-right-color: transparent;
69
+ }
70
+
71
+ .tipsy-nw .tipsy-arrow {
72
+ top: 0;
73
+ left: 10px;
74
+ border-bottom-style: solid;
75
+ border-top: none;
76
+ border-left-color: transparent;
77
+ border-right-color: transparent;
78
+ }
79
+
80
+ .tipsy-ne .tipsy-arrow {
81
+ top: 0;
82
+ right: 10px;
83
+ border-bottom-style: solid;
84
+ border-top: none;
85
+ border-left-color: transparent;
86
+ border-right-color: transparent;
87
+ }
88
+
89
+ .tipsy-s .tipsy-arrow {
90
+ bottom: 0;
91
+ left: 50%;
92
+ margin-left: -5px;
93
+ border-top-style: solid;
94
+ border-bottom: none;
95
+ border-left-color: transparent;
96
+ border-right-color: transparent;
97
+ }
98
+
99
+ .tipsy-sw .tipsy-arrow {
100
+ bottom: 0;
101
+ left: 10px;
102
+ border-top-style: solid;
103
+ border-bottom: none;
104
+ border-left-color: transparent;
105
+ border-right-color: transparent;
106
+ }
107
+
108
+ .tipsy-se .tipsy-arrow {
109
+ bottom: 0;
110
+ right: 10px;
111
+ border-top-style: solid;
112
+ border-bottom: none;
113
+ border-left-color: transparent;
114
+ border-right-color: transparent;
115
+ }
116
+
117
+ .tipsy-e .tipsy-arrow {
118
+ right: 0;
119
+ top: 50%;
120
+ margin-top: -5px;
121
+ border-left-style: solid;
122
+ border-right: none;
123
+ border-top-color: transparent;
124
+ border-bottom-color: transparent;
125
+ }
126
+
127
+ .tipsy-w .tipsy-arrow {
128
+ left: 0;
129
+ top: 50%;
130
+ margin-top: -5px;
131
+ border-right-style: solid;
132
+ border-left: none;
133
+ border-top-color: transparent;
134
+ border-bottom-color: transparent;
135
+ }
google-maps-builder.php CHANGED
@@ -1,18 +1,11 @@
1
  <?php
2
  /**
3
- * Google Maps Builder
4
  *
5
- * @package Google_Maps_Builder
6
- * @author Devin Walker <devin@wordimpress.com>
7
- * @license GPL-2.0+
8
- * @link http://wordimpress.com
9
- * @copyright 2014 WordImpress, Devin Walker
10
- *
11
- * @wordpress-google-places
12
- * Plugin Name: Google Maps Builder
13
  * Plugin URI: http://wordimpress.com/
14
  * Description: Create stylish and powerful Google Maps quickly and easily.
15
- * Version: 1.0.4
16
  * Author: WordImpress
17
  * Author URI: http://wordimpress.com/
18
  * Text Domain: google-maps-builder
@@ -22,43 +15,299 @@
22
  */
23
 
24
  // If this file is called directly, abort.
25
- if ( ! defined( 'WPINC' ) ) {
26
- die;
27
  }
28
- // Define Constants
29
- define( 'GMB_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
30
- define( 'GMB_PLUGIN_URL', plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) );
31
- define( 'GMB_PLUGIN_BASE', plugin_basename( __FILE__ ) );
32
- define( 'GMB_DEBUG', false );
33
 
34
  /*----------------------------------------------------------------------------*
35
  * Public-Facing Functionality
36
  *----------------------------------------------------------------------------*/
37
- require_once( plugin_dir_path( __FILE__ ) . 'public/class-wordpress-google-maps.php' );
38
- //require_once( plugin_dir_path( __FILE__ ) . 'public/class-wordpress-google-maps-widget.php' );
39
- require_once( plugin_dir_path( __FILE__ ) . 'admin/class-wordpress-google-maps-settings.php' );
40
- require_once( plugin_dir_path( __FILE__ ) . 'public/class-wordpress-google-maps-engine.php' );
41
-
42
-
43
- /*
44
- * Register hooks that are fired when the plugin is activated or deactivated.
45
- * When the plugin is deleted, the uninstall.php file is loaded.
46
- */
47
- register_activation_hook( __FILE__, array( 'Google_Maps_Builder', 'activate' ) );
48
- register_deactivation_hook( __FILE__, array( 'Google_Maps_Builder', 'deactivate' ) );
49
 
50
  /*
51
  * Get instances of Google_Maps_Builder class
52
  */
53
- add_action( 'plugins_loaded', array( 'Google_Maps_Builder', 'get_instance' ) );
54
- add_action( 'plugins_loaded', array( 'Google_Maps_Builder_Engine', 'get_instance' ) );
55
 
56
- /*----------------------------------------------------------------------------*
57
- * Dashboard and Administrative Functionality
58
- *----------------------------------------------------------------------------*/
59
- if ( is_admin() ) {
60
 
61
- require_once( plugin_dir_path( __FILE__ ) . 'admin/class-wordpress-google-maps-admin.php' );
62
- add_action( 'plugins_loaded', array( 'Google_Maps_Builder_Admin', 'get_instance' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  /**
3
+ * Maps Builder
4
  *
5
+ * Plugin Name: Maps Builder
 
 
 
 
 
 
 
6
  * Plugin URI: http://wordimpress.com/
7
  * Description: Create stylish and powerful Google Maps quickly and easily.
8
+ * Version: 2.0
9
  * Author: WordImpress
10
  * Author URI: http://wordimpress.com/
11
  * Text Domain: google-maps-builder
15
  */
16
 
17
  // If this file is called directly, abort.
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit;
20
  }
21
+
 
 
 
 
22
 
23
  /*----------------------------------------------------------------------------*
24
  * Public-Facing Functionality
25
  *----------------------------------------------------------------------------*/
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  /*
28
  * Get instances of Google_Maps_Builder class
29
  */
30
+ //add_action( 'plugins_loaded', array( 'Google_Maps_Builder', 'get_instance' ) );
31
+ //add_action( 'plugins_loaded', array( 'Google_Maps_Builder_Engine', 'get_instance' ) );
32
 
 
 
 
 
33
 
34
+ if ( ! class_exists( 'Google_Maps_Builder' ) ) : /**
35
+ * Main Give Class
36
+ *
37
+ * @since 2.0
38
+ */ {
39
+ final class Google_Maps_Builder {
40
+
41
+ /** Singleton *************************************************************/
42
+
43
+ /**
44
+ * @var Google_Maps_Builder The one true Give
45
+ * @since 2.0
46
+ */
47
+ private static $instance;
48
+
49
+
50
+ /**
51
+ *
52
+ * Unique identifier for plugin.
53
+ *
54
+ * The variable name is used as the text domain when internationalizing strings
55
+ * of text. Its value should match the Text Domain file header in the main
56
+ * plugin file.
57
+ *
58
+ * @since 1.0.0
59
+ *
60
+ * @var string
61
+ */
62
+ protected $plugin_slug = 'google-maps-builder';
63
+
64
+
65
+ /**
66
+ * Activation Object
67
+ *
68
+ * @var object
69
+ * @since 2.0
70
+ */
71
+ public $activate;
72
+
73
+
74
+ /**
75
+ * GMB Scripts Object
76
+ *
77
+ * @var object
78
+ * @since 2.0
79
+ */
80
+ public $scripts;
81
+
82
+ /**
83
+ * GMB Settings Object
84
+ *
85
+ * @var object
86
+ * @since 2.0
87
+ */
88
+ public $settings;
89
+
90
+ /**
91
+ * GMB Engine Object
92
+ *
93
+ * @var object
94
+ * @since 2.0
95
+ */
96
+ public $engine;
97
+
98
+ /**
99
+ * GMB Plugin Meta
100
+ *
101
+ * @var object
102
+ * @since 2.0
103
+ */
104
+ public $meta;
105
+
106
+ /**
107
+ * Main Google_Maps_Builder Instance
108
+ *
109
+ * Insures that only one instance of Google_Maps_Builder exists in memory at any one
110
+ * time. Also prevents needing to define globals all over the place.
111
+ *
112
+ * @since 2.0
113
+ * @static
114
+ * @static var array $instance
115
+ * @uses Google_Maps_Builder::setup_constants() Setup the constants needed
116
+ * @uses Google_Maps_Builder::includes() Include the required files
117
+ * @uses Google_Maps_Builder::load_textdomain() load the language files
118
+ * @see Google_Maps_Builder()
119
+ * @return Google_Maps_Builder
120
+ */
121
+ public static function instance() {
122
+ if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Google_Maps_Builder ) ) {
123
+
124
+ self::$instance = new Google_Maps_Builder();
125
+ self::$instance->setup_constants();
126
+
127
+ add_action( 'plugins_loaded', array( self::$instance, 'load_textdomain' ) );
128
+
129
+ self::$instance->includes();
130
+ self::$instance->activate = new Google_Maps_Builder_Activate();
131
+ self::$instance->scripts = new Google_Maps_Builder_Scripts();
132
+ self::$instance->settings = new Google_Maps_Builder_Settings();
133
+ self::$instance->engine = new Google_Maps_Builder_Engine();
134
+
135
+ register_activation_hook( __FILE__, array( self::$instance->activate, 'activation_flush_rewrites' ) );
136
+
137
+ // Read plugin meta
138
+ // Check that function get_plugin_data exists
139
+ if ( ! function_exists( 'get_plugin_data' ) ) {
140
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
141
+ }
142
+ self::$instance->meta = get_plugin_data( GMB_PLUGIN_FILE, false );
143
+
144
+ }
145
+
146
+ return self::$instance;
147
+ }
148
+
149
+ /**
150
+ * Throw error on object clone
151
+ *
152
+ * The whole idea of the singleton design pattern is that there is a single
153
+ * object, therefore we don't want the object to be cloned.
154
+ *
155
+ * @since 2.0
156
+ * @access protected
157
+ * @return void
158
+ */
159
+ public function __clone() {
160
+ // Cloning instances of the class is forbidden
161
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'gmb' ), '2.0' );
162
+ }
163
+
164
+ /**
165
+ * Disable unserializing of the class
166
+ *
167
+ * @since 2.0
168
+ * @access protected
169
+ * @return void
170
+ */
171
+ public function __wakeup() {
172
+ // Unserializing instances of the class is forbidden
173
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'gmb' ), '2.0' );
174
+ }
175
 
176
+ /**
177
+ * Setup plugin constants
178
+ *
179
+ * @access private
180
+ * @since 2.0
181
+ * @return void
182
+ */
183
+ private function setup_constants() {
184
+
185
+ // Define Constants
186
+ // Plugin Folder Path
187
+ if ( ! defined( 'GMB_PLUGIN_PATH' ) ) {
188
+ define( 'GMB_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
189
+ }
190
+ // Plugin Folder URL
191
+ if ( ! defined( 'GMB_PLUGIN_URL' ) ) {
192
+ define( 'GMB_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
193
+ }
194
+ // Plugin base
195
+ if ( ! defined( 'GMB_PLUGIN_BASE' ) ) {
196
+ define( 'GMB_PLUGIN_BASE', plugin_basename( __FILE__ ) );
197
+ }
198
+ // Plugin version
199
+ if ( ! defined( 'GMB_VERSION' ) ) {
200
+ define( 'GMB_VERSION', '2.0' );
201
+ }
202
+ // Plugin Root File
203
+ if ( ! defined( 'GMB_PLUGIN_FILE' ) ) {
204
+ define( 'GMB_PLUGIN_FILE', __FILE__ );
205
+ }
206
+
207
+ }
208
+
209
+ /**
210
+ * Include required files
211
+ *
212
+ * @access private
213
+ * @since 2.0
214
+ * @return void
215
+ */
216
+ private function includes() {
217
+
218
+ require_once GMB_PLUGIN_PATH . 'includes/class-gmb-activate.php';
219
+ require_once GMB_PLUGIN_PATH . 'includes/libraries/metabox/init.php';
220
+ require_once GMB_PLUGIN_PATH . 'includes/class-gmb-scripts.php';
221
+ require_once GMB_PLUGIN_PATH . 'includes/class-gmb-widget.php';
222
+ require_once GMB_PLUGIN_PATH . 'includes/class-gmb-engine.php';
223
+ require_once GMB_PLUGIN_PATH . 'includes/admin/class-gmb-settings.php';
224
+ require_once GMB_PLUGIN_PATH . 'includes/misc-functions.php';
225
+
226
+ if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
227
+
228
+ //Upgrades
229
+ require_once GMB_PLUGIN_PATH . 'includes/admin/upgrades/upgrade-functions.php';
230
+ require_once GMB_PLUGIN_PATH . 'includes/admin/upgrades/upgrades.php';
231
+
232
+ //Admin
233
+ require_once GMB_PLUGIN_PATH . 'includes/admin/admin-actions.php';
234
+ require_once GMB_PLUGIN_PATH . 'includes/admin/class-gmb-admin.php';
235
+ require_once GMB_PLUGIN_PATH . 'includes/admin/class-gmb-shortcode-generator.php';
236
+ require_once GMB_PLUGIN_PATH . 'includes/admin/system-info.php';
237
+
238
+ }
239
+
240
+ }
241
+
242
+ /**
243
+ * Loads the plugin language files
244
+ *
245
+ * @access public
246
+ * @since 2.0
247
+ * @return void
248
+ */
249
+ public function load_textdomain() {
250
+ // Set filter for Give's languages directory
251
+ $gmb_lang_dir = dirname( plugin_basename( GMB_PLUGIN_FILE ) ) . '/languages/';
252
+ $gmb_lang_dir = apply_filters( 'gmb_languages_directory', $gmb_lang_dir );
253
+
254
+ // Traditional WordPress plugin locale filter
255
+ $locale = apply_filters( 'plugin_locale', get_locale(), 'gmb' );
256
+ $mofile = sprintf( '%1$s-%2$s.mo', 'gmb', $locale );
257
+
258
+ // Setup paths to current locale file
259
+ $mofile_local = $gmb_lang_dir . $mofile;
260
+ $mofile_global = WP_LANG_DIR . '/gmb/' . $mofile;
261
+
262
+ if ( file_exists( $mofile_global ) ) {
263
+ // Look in global /wp-content/languages/gmb folder
264
+ load_textdomain( 'gmb', $mofile_global );
265
+ } elseif ( file_exists( $mofile_local ) ) {
266
+ // Look in local /wp-content/plugins/gmb/languages/ folder
267
+ load_textdomain( 'gmb', $mofile_local );
268
+ } else {
269
+ // Load the default language files
270
+ load_plugin_textdomain( 'gmb', false, $gmb_lang_dir );
271
+ }
272
+ }
273
+
274
+
275
+ /**
276
+ * Return the plugin slug.
277
+ *
278
+ * @since 1.0.0
279
+ *
280
+ * @return string.
281
+ */
282
+ public function get_plugin_slug() {
283
+ return $this->plugin_slug;
284
+ }
285
+
286
+
287
+
288
+
289
+ }
290
  }
291
+
292
+ endif; // End if class_exists check
293
+
294
+
295
+ /**
296
+ * The main function responsible for returning the one true Give
297
+ * Instance to functions everywhere.
298
+ *
299
+ * Use this function like you would a global variable, except without needing
300
+ * to declare the global.
301
+ *
302
+ * Example: <?php $gmb = Give(); ?>
303
+ *
304
+ * @since 2.0
305
+ * @return object - The one true Give Instance
306
+ */
307
+ function Google_Maps_Builder() {
308
+ return Google_Maps_Builder::instance();
309
+ }
310
+
311
+ // Get Give Running
312
+ Google_Maps_Builder();
313
+
includes/admin/admin-actions.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin Actions
4
+ *
5
+ * @package GMB
6
+ * @subpackage Admin/Actions
7
+ * @copyright Copyright (c) 2015, WordImpress
8
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ * @since 2.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) exit;
14
+
15
+ /**
16
+ * Processes all GMB actions sent via POST and GET by looking for the 'gmb-action'
17
+ * request and running do_action() to call the function
18
+ *
19
+ * @since 2.0
20
+ * @return void
21
+ */
22
+ function gmb_process_actions() {
23
+ if ( isset( $_POST['gmb_action'] ) ) {
24
+ do_action( 'gmb_' . $_POST['gmb_action'], $_POST );
25
+ }
26
+
27
+ if ( isset( $_GET['gmb_action'] ) ) {
28
+ do_action( 'gmb_' . $_GET['gmb_action'], $_GET );
29
+ }
30
+ }
31
+ add_action( 'admin_init', 'gmb_process_actions' );
includes/admin/class-gmb-admin.php ADDED
@@ -0,0 +1,815 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Google Maps Admin
5
+ *
6
+ * The admin is considered the single post view where you build maps
7
+ *
8
+ * @package Google_Maps_Builder_Admin
9
+ * @author Devin Walker <devin@wordimpress.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordimpress.com
12
+ * @copyright 2015 WordImpress, Devin Walker
13
+ */
14
+ class Google_Maps_Builder_Admin {
15
+
16
+ /**
17
+ * Instance of this class.
18
+ *
19
+ * @since 1.0.0
20
+ *
21
+ * @var object
22
+ */
23
+ protected static $instance = null;
24
+
25
+
26
+ /**
27
+ * Array of metaboxes/fields
28
+ *
29
+ * @since 1.0.0
30
+ *
31
+ * @var array
32
+ */
33
+ protected static $plugin_options = array();
34
+
35
+ /**
36
+ * Array of metaboxes/fields
37
+ *
38
+ * @since 1.0.0
39
+ *
40
+ * @var array
41
+ */
42
+ protected static $default_map_options;
43
+
44
+
45
+ /**
46
+ * Initialize the plugin by loading admin scripts & styles and adding a
47
+ * settings page and menu.
48
+ *
49
+ * @since 1.0.0
50
+ */
51
+ public function __construct() {
52
+
53
+ $this->plugin_slug = Google_Maps_Builder()->get_plugin_slug();
54
+
55
+ //CPT
56
+ add_filter( 'manage_edit-google_maps_columns', array( $this, 'setup_custom_columns' ) );
57
+ add_action( 'manage_google_maps_posts_custom_column', array( $this, 'configure_custom_columns' ), 10, 2 );
58
+ add_filter( 'get_user_option_closedpostboxes_google_maps', array( $this, 'closed_meta_boxes' ) );
59
+
60
+ //Custom Meta Fields
61
+ add_action( 'cmb2_render_google_geocoder', array( $this, 'cmb2_render_google_geocoder' ), 10, 2 );
62
+ add_action( 'cmb2_render_google_maps_preview', array( $this, 'cmb2_render_google_maps_preview' ), 10, 2 );
63
+ add_action( 'cmb2_render_search_options', array( $this, 'cmb2_render_search_options' ), 10, 2 );
64
+ add_action( 'cmb2_render_width_height', array( $this, 'cmb2_render_width_height' ), 10, 2 );
65
+ add_action( 'cmb2_render_lat_lng', array( $this, 'cmb2_render_lat_lng' ), 10, 2 );
66
+ add_action( 'post_submitbox_misc_actions', array( $this, 'gmb_add_shortcode_to_publish_metabox' ) );
67
+
68
+ //Add metaboxes and fields to CPT
69
+ add_action( 'cmb2_init', array( $this, 'cpt2_metaboxes_fields' ) );
70
+
71
+ }
72
+
73
+ /**
74
+ * Add Shortcode to Publish Metabox
75
+ * @return bool
76
+ */
77
+ public function gmb_add_shortcode_to_publish_metabox() {
78
+
79
+ if ( 'google_maps' !== get_post_type() ) {
80
+ return false;
81
+ }
82
+
83
+ global $post;
84
+
85
+ //Only enqueue scripts for CPT on post type screen
86
+ if ( 'google_maps' === $post->post_type ) {
87
+ echo '<a href="#" class="button button-primary" id="map-builder"><span class="dashicons dashicons-location-alt"></span>' . __( 'Open Map Builder', $this->plugin_slug ) . '</a>';
88
+ //Shortcode column with select all input
89
+ $shortcode = htmlentities( '[google_maps id="' . $post->ID . '"]' );
90
+ echo '<div class="shortcode-wrap box-sizing"><label>' . __( 'Map Shortcode:', $this->plugin_slug ) . '</label><input onClick="this.setSelectionRange(0, this.value.length)" type="text" class="shortcode-input" readonly value="' . $shortcode . '"></div>';
91
+
92
+ }
93
+
94
+ return false;
95
+ }
96
+
97
+ /**
98
+ * Get Default Map Options
99
+ *
100
+ * Helper function that returns default map options from settings
101
+ * @return array
102
+ */
103
+ public function get_default_map_options() {
104
+
105
+ $width_height = gmb_get_option( 'gmb_width_height' );
106
+
107
+ $defaults = array(
108
+ 'width' => ( isset( $width_height['width'] ) ) ? $width_height['width'] : '100',
109
+ 'width_unit' => ( isset( $width_height['map_width_unit'] ) ) ? $width_height['map_width_unit'] : '%',
110
+ 'height' => ( isset( $width_height['height'] ) ) ? $width_height['height'] : '600',
111
+ 'height_unit' => ( isset( $width_height['map_height_unit'] ) ) ? $width_height['map_height_unit'] : 'px'
112
+ );
113
+
114
+ return $defaults;
115
+
116
+ }
117
+
118
+ /**
119
+ * Register our setting to WP
120
+ * @since 1.0.0
121
+ */
122
+ public function settings_init() {
123
+ register_setting( $this->plugin_slug, $this->plugin_slug );
124
+ }
125
+
126
+
127
+ /**
128
+ * Defines the Google Places CPT metabox and field configuration
129
+ * @since 1.0.0
130
+ * @return array
131
+ */
132
+ public function cpt2_metaboxes_fields() {
133
+
134
+ $prefix = 'gmb_';
135
+ $default_options = $this->get_default_map_options();
136
+
137
+ // MARKER WITH AUTOCOMPLETE
138
+ $marker_box = cmb2_get_metabox( array(
139
+ 'id' => 'google_maps_markers',
140
+ 'title' => __( 'Map Markers', $this->plugin_slug ),
141
+ 'object_types' => array( 'google_maps' ), // post type
142
+ 'context' => 'normal', // 'normal', 'advanced', or 'side'
143
+ 'priority' => 'high', // 'high', 'core', 'default' or 'low'
144
+ 'show_names' => true, // Show field names on the left
145
+ ) );
146
+ $marker_box->add_field( array(
147
+ 'name' => __( 'Create Marker', $this->plugin_slug ),
148
+ 'id' => $prefix . 'geocoder',
149
+ 'type' => 'google_geocoder'
150
+ ) );
151
+ $group_field_id = $marker_box->add_field( array(
152
+ 'name' => __( 'Existing Markers', $this->plugin_slug ),
153
+ 'id' => $prefix . 'markers_group',
154
+ 'type' => 'group',
155
+ 'description' => __( 'Map marker data is contained within the repeatable fields below. You may add or update marker data here or directly on the map.', $this->plugin_slug ) . '<a href="#" class="button button-small toggle-repeater-groups">' . __( 'Toggle Marker Groups', $this->plugin_slug ) . '</a>',
156
+ 'options' => array(
157
+ 'group_title' => __( 'Marker: {#}', 'cmb' ),
158
+ 'add_button' => __( 'Add Another Marker', $this->plugin_slug ),
159
+ 'remove_button' => __( 'Remove Marker', $this->plugin_slug ),
160
+ 'sortable' => true, // beta
161
+ ),
162
+ ) );
163
+ $marker_box->add_group_field( $group_field_id, array(
164
+ 'name' => __( 'Marker Title', $this->plugin_slug ),
165
+ 'id' => 'title',
166
+ 'type' => 'text',
167
+ ) );
168
+ $marker_box->add_group_field( $group_field_id, array(
169
+ 'name' => __( 'Marker Description', $this->plugin_slug ),
170
+ 'description' => __( 'Write a short description for this marker', $this->plugin_slug ),
171
+ 'id' => 'description',
172
+ 'type' => 'textarea_small',
173
+ ) );
174
+ $marker_box->add_group_field( $group_field_id, array(
175
+ 'name' => __( 'Marker Reference', $this->plugin_slug ),
176
+ 'id' => 'reference',
177
+ 'type' => 'text',
178
+ ) );
179
+ $marker_box->add_group_field( $group_field_id, array(
180
+ 'name' => __( 'Marker Place ID', $this->plugin_slug ),
181
+ 'id' => 'place_id',
182
+ 'type' => 'text',
183
+ ) );
184
+ $marker_box->add_group_field( $group_field_id, array(
185
+ 'name' => __( 'Hide Place Details', $this->plugin_slug ),
186
+ 'id' => 'hide_details',
187
+ 'type' => 'checkbox',
188
+ ) );
189
+ $marker_box->add_group_field( $group_field_id, array(
190
+ 'name' => __( 'Marker Latitude', $this->plugin_slug ),
191
+ 'id' => 'lat',
192
+ 'type' => 'text',
193
+ ) );
194
+ $marker_box->add_group_field( $group_field_id, array(
195
+ 'name' => __( 'Marker Longitude', $this->plugin_slug ),
196
+ 'id' => 'lng',
197
+ 'type' => 'text',
198
+ ) );
199
+ $marker_box->add_group_field( $group_field_id, array(
200
+ 'name' => __( 'Marker Image', $this->plugin_slug ),
201
+ 'id' => 'marker_img',
202
+ 'type' => 'file',
203
+ 'row_classes' => 'gmb-hidden',
204
+ 'options' => array(
205
+ 'url' => false,
206
+ 'add_upload_file_text' => __( 'Add Marker Image', $this->plugin_slug )
207
+ ),
208
+ ) );
209
+ $marker_box->add_group_field( $group_field_id, array(
210
+ 'name' => __( 'Marker Data', $this->plugin_slug ),
211
+ 'id' => 'marker',
212
+ 'row_classes' => 'gmb-hidden',
213
+ 'type' => 'textarea_code',
214
+ ) );
215
+ $marker_box->add_group_field( $group_field_id, array(
216
+ 'name' => __( 'Marker Label Data', $this->plugin_slug ),
217
+ 'id' => 'label',
218
+ 'row_classes' => 'gmb-hidden',
219
+ 'type' => 'textarea_code',
220
+ ) );
221
+
222
+ // PREVIEW
223
+ $preview_box = cmb2_get_metabox( array(
224
+ 'id' => 'google_maps_preview_metabox',
225
+ 'title' => __( 'Google Map Preview', $this->plugin_slug ),
226
+ 'object_types' => array( 'google_maps' ), // post type
227
+ 'context' => 'normal', // 'normal', 'advanced', or 'side'
228
+ 'priority' => 'high', // 'high', 'core', 'default' or 'low'
229
+ 'show_names' => false, // Show field names on the left
230
+ ) );
231
+
232
+ $preview_box->add_field( array(
233
+ 'name' => __( 'Map Preview', $this->plugin_slug ),
234
+ 'id' => $prefix . 'preview',
235
+ 'type' => 'google_maps_preview',
236
+ 'default' => '',
237
+ ) );
238
+
239
+ // SEARCH OPTIONS
240
+ $search_options = cmb2_get_metabox( array(
241
+ 'id' => 'google_maps_search_options',
242
+ 'title' => __( 'Google Places', $this->plugin_slug ),
243
+ 'object_types' => array( 'google_maps' ), // post type
244
+ 'context' => 'normal', // 'normal', 'advanced', or 'side'
245
+ 'priority' => 'core', // 'high', 'core', 'default' or 'low'
246
+ 'show_names' => true, // Show field names on the left
247
+ ) );
248
+
249
+ $search_options->add_field(
250
+ array(
251
+ 'name' => __( 'Show Places?', $this->plugin_slug ),
252
+ 'desc' => __( 'Display establishments, prominent points of interest, geographic locations, and more.', $this->plugin_slug ),
253
+ 'id' => $prefix . 'show_places',
254
+ 'type' => 'radio_inline',
255
+ 'options' => array(
256
+ 'yes' => __( 'Yes', 'cmb' ),
257
+ 'no' => __( 'No', 'cmb' ),
258
+ ),
259
+ )
260
+ );
261
+
262
+ $search_options->add_field(
263
+ array(
264
+ 'name' => __( 'Search Radius', $this->plugin_slug ),
265
+ 'desc' => __( 'Defines the distance (in meters) within which to return Place results. The maximum allowed radius is 50,000 meters.', $this->plugin_slug ),
266
+ 'default' => '1000',
267
+ 'id' => $prefix . 'search_radius',
268
+ 'type' => 'text_small'
269
+ )
270
+ );
271
+
272
+ $search_options->add_field(
273
+ array(
274
+ 'name' => __( 'Place Types', $this->plugin_slug ),
275
+ 'desc' => __( 'Select which type of places you would like to display on this map.', $this->plugin_slug ),
276
+ 'id' => $prefix . 'places_search_multicheckbox',
277
+ 'type' => 'multicheck',
278
+ 'options' => apply_filters( 'gmb_place_types', array(
279
+ 'accounting' => __( 'Accounting', $this->plugin_slug ),
280
+ 'airport' => __( 'Airport', $this->plugin_slug ),
281
+ 'amusement_park' => __( 'Amusement Park', $this->plugin_slug ),
282
+ 'aquarium' => __( 'Aquarium', $this->plugin_slug ),
283
+ 'art_gallery' => __( 'Art Gallery', $this->plugin_slug ),
284
+ 'atm' => __( 'ATM', $this->plugin_slug ),
285
+ 'bakery' => __( 'Bakery', $this->plugin_slug ),
286
+ 'bank' => __( 'Bank', $this->plugin_slug ),
287
+ 'bar' => __( 'Bar', $this->plugin_slug ),
288
+ 'beauty_salon' => __( 'Beauty Salon', $this->plugin_slug ),
289
+ 'bicycle_store' => __( 'Bicycle Store', $this->plugin_slug ),
290
+ 'book_store' => __( 'Book Store', $this->plugin_slug ),
291
+ 'bowling_alley' => __( 'Bowling Alley', $this->plugin_slug ),
292
+ 'bus_station' => __( 'Bus Station', $this->plugin_slug ),
293
+ 'cafe' => __( 'Cafe', $this->plugin_slug ),
294
+ 'campground' => __( 'Campground', $this->plugin_slug ),
295
+ 'car_dealer' => __( 'Car Dealer', $this->plugin_slug ),
296
+ 'car_rental' => __( 'Car Rental', $this->plugin_slug ),
297
+ 'car_repair' => __( 'Car Repair', $this->plugin_slug ),
298
+ 'car_wash' => __( 'Car Wash', $this->plugin_slug ),
299
+ 'casino' => __( 'Casino', $this->plugin_slug ),
300
+ 'cemetery' => __( 'Cemetery', $this->plugin_slug ),
301
+ 'church' => __( 'Church', $this->plugin_slug ),
302
+ 'city_hall' => __( 'City Hall', $this->plugin_slug ),
303
+ 'clothing_store' => __( 'Clothing Store', $this->plugin_slug ),
304
+ 'convenience_store' => __( 'Convenience Store', $this->plugin_slug ),
305
+ 'courthouse' => __( 'Courthouse', $this->plugin_slug ),
306
+ 'dentist' => __( 'Dentist', $this->plugin_slug ),
307
+ 'department_store' => __( 'Department Store', $this->plugin_slug ),
308
+ 'doctor' => __( 'Doctor', $this->plugin_slug ),
309
+ 'electrician' => __( 'Electrician', $this->plugin_slug ),
310
+ 'electronics_store' => __( 'Electronics Store', $this->plugin_slug ),
311
+ 'embassy' => __( 'Embassy', $this->plugin_slug ),
312
+ 'establishment' => __( 'Establishment', $this->plugin_slug ),
313
+ 'finance' => __( 'Finance', $this->plugin_slug ),
314
+ 'fire_station' => __( 'Fire Station', $this->plugin_slug ),
315
+ 'florist' => __( 'Florist', $this->plugin_slug ),
316
+ 'food' => __( 'Food', $this->plugin_slug ),
317
+ 'funeral_home' => __( 'Funeral Home', $this->plugin_slug ),
318
+ 'furniture_store' => __( 'Furniture_store', $this->plugin_slug ),
319
+ 'gas_station' => __( 'Gas Station', $this->plugin_slug ),
320
+ 'general_contractor' => __( 'General Contractor', $this->plugin_slug ),
321
+ 'grocery_or_supermarket' => __( 'Grocery or Supermarket', $this->plugin_slug ),
322
+ 'gym' => __( 'Gym', $this->plugin_slug ),
323
+ 'hair_care' => __( 'Hair Care', $this->plugin_slug ),
324
+ 'hardware_store' => __( 'Hardware Store', $this->plugin_slug ),
325
+ 'health' => __( 'Health', $this->plugin_slug ),
326
+ 'hindu_temple' => __( 'Hindu Temple', $this->plugin_slug ),
327
+ 'home_goods_store' => __( 'Home Goods Store', $this->plugin_slug ),
328
+ 'hospital' => __( 'Hospital', $this->plugin_slug ),
329
+ 'insurance_agency' => __( 'Insurance Agency', $this->plugin_slug ),
330
+ 'jewelry_store' => __( 'Jewelry Store', $this->plugin_slug ),
331
+ 'laundry' => __( 'Laundry', $this->plugin_slug ),
332
+ 'lawyer' => __( 'Lawyer', $this->plugin_slug ),
333
+ 'library' => __( 'Library', $this->plugin_slug ),
334
+ 'liquor_store' => __( 'Liquor Store', $this->plugin_slug ),
335
+ 'local_government_office' => __( 'Local Government Office', $this->plugin_slug ),
336
+ 'locksmith' => __( 'Locksmith', $this->plugin_slug ),
337
+ 'lodging' => __( 'Lodging', $this->plugin_slug ),
338
+ 'meal_delivery' => __( 'Meal Delivery', $this->plugin_slug ),
339
+ 'meal_takeaway' => __( 'Meal Takeaway', $this->plugin_slug ),
340
+ 'mosque' => __( 'Mosque', $this->plugin_slug ),
341
+ 'movie_rental' => __( 'Movie Rental', $this->plugin_slug ),
342
+ 'movie_theater' => __( 'Movie Theater', $this->plugin_slug ),
343
+ 'moving_company' => __( 'Moving Company', $this->plugin_slug ),
344
+ 'museum' => __( 'Museum', $this->plugin_slug ),
345
+ 'night_club' => __( 'Night Club', $this->plugin_slug ),
346
+ 'painter' => __( 'Painter', $this->plugin_slug ),
347
+ 'park' => __( 'Park', $this->plugin_slug ),
348
+ 'parking' => __( 'Parking', $this->plugin_slug ),
349
+ 'pet_store' => __( 'Pet Store', $this->plugin_slug ),
350
+ 'pharmacy' => __( 'Pharmacy', $this->plugin_slug ),
351
+ 'physiotherapist' => __( 'Physiotherapist', $this->plugin_slug ),
352
+ 'place_of_worship' => __( 'Place of Worship', $this->plugin_slug ),
353
+ 'plumber' => __( 'Plumber', $this->plugin_slug ),
354
+ 'police' => __( 'Police', $this->plugin_slug ),
355
+ 'post_office' => __( 'Post Office', $this->plugin_slug ),
356
+ 'real_estate_agency' => __( 'Real Estate Agency', $this->plugin_slug ),
357
+ 'restaurant' => __( 'Restaurant', $this->plugin_slug ),
358
+ 'roofing_contractor' => __( 'Roofing Contractor', $this->plugin_slug ),
359
+ 'rv_park' => __( 'RV Park', $this->plugin_slug ),
360
+ 'school' => __( 'School', $this->plugin_slug ),
361
+ 'shoe_store' => __( 'Shoe Store', $this->plugin_slug ),
362
+ 'shopping_mall' => __( 'Shopping Mall', $this->plugin_slug ),
363
+ 'spa' => __( 'Spa', $this->plugin_slug ),
364
+ 'stadium' => __( 'Stadium', $this->plugin_slug ),
365
+ 'storage' => __( 'Storage', $this->plugin_slug ),
366
+ 'store' => __( 'Store', $this->plugin_slug ),
367
+ 'subway_station' => __( 'Subway Station', $this->plugin_slug ),
368
+ 'synagogue' => __( 'Synagogue', $this->plugin_slug ),
369
+ 'taxi_stand' => __( 'Taxi Stand', $this->plugin_slug ),
370
+ 'train_station' => __( 'Train Station', $this->plugin_slug ),
371
+ 'travel_agency' => __( 'Travel Agency', $this->plugin_slug ),
372
+ 'university' => __( 'University', $this->plugin_slug ),
373
+ 'veterinary_care' => __( 'Veterinary Care', $this->plugin_slug ),
374
+ 'zoo' => __( 'Zoo', $this->plugin_slug )
375
+ ) )
376
+ )
377
+ );
378
+
379
+ /**
380
+ * Display Options
381
+ */
382
+ $display_options = cmb2_get_metabox( array(
383
+ 'id' => 'google_maps_options',
384
+ 'title' => __( 'Display Options', $this->plugin_slug ),
385
+ 'object_types' => array( 'google_maps' ), // post type
386
+ 'context' => 'side', // 'normal', 'advanced', or 'side'
387
+ 'priority' => 'default', // 'high', 'core', 'default' or 'low'
388
+ 'show_names' => true, // Show field names on the left
389
+ ) );
390
+
391
+ $display_options->add_field( array(
392
+ 'name' => __( 'Map Size', $this->plugin_slug ),
393
+ 'id' => $prefix . 'width_height',
394
+ 'type' => 'width_height',
395
+ 'width_std' => $default_options['width'],
396
+ 'width_unit_std' => $default_options['width_unit'],
397
+ 'height_std' => $default_options['height'],
398
+ 'desc' => '',
399
+ ) );
400
+ $display_options->add_field( array(
401
+ 'name' => __( 'Map Location', $this->plugin_slug ),
402
+ 'id' => $prefix . 'lat_lng',
403
+ 'type' => 'lat_lng',
404
+ 'lat_std' => '',
405
+ 'lng_std' => '',
406
+ 'desc' => '',
407
+ ) );
408
+ $display_options->add_field( array(
409
+ 'name' => __( 'Map Type', $this->plugin_slug ),
410
+ 'id' => $prefix . 'type',
411
+ 'type' => 'select',
412
+ 'default' => 'default',
413
+ 'options' => array(
414
+ 'RoadMap' => __( 'Road Map', $this->plugin_slug ),
415
+ 'Satellite' => __( 'Satellite', $this->plugin_slug ),
416
+ 'Hybrid' => __( 'Hybrid', $this->plugin_slug ),
417
+ 'Terrain' => __( 'Terrain', $this->plugin_slug )
418
+ ),
419
+ ) );
420
+
421
+ $display_options->add_field( array(
422
+ 'name' => 'Map Theme',
423
+ 'desc' => sprintf( __( 'Set optional preconfigured %1$sSnazzy Maps%2$s styles. %3$sUpgrade to Pro%2$s for more styles and to set your own.', $this->plugin_slug ), '<a href="' . esc_url( 'http://snazzymaps.com' ) . '" class="snazzy-link new-window" target="_blank">', '</a>', '<a href="' . esc_url( 'https://wordimpress.com/plugins/maps-builder-pro/?utm_source=MBF&utm_medium=BANNER&utm_term=MAP_OPTIONS&utm_campaign=MBF' ) . '" class="new-window" target="_blank">' ),
424
+ 'id' => $prefix . 'theme',
425
+ 'type' => 'select',
426
+ 'default' => 'none',
427
+ 'options' => array(
428
+ 'none' => __( 'None', $this->plugin_slug ),
429
+ '68' => __( 'Aqua', $this->plugin_slug ),
430
+ '73' => __( 'A Dark World', $this->plugin_slug ),
431
+ '28' => __( 'Bluish', $this->plugin_slug ),
432
+ '80' => __( 'Cool Grey', $this->plugin_slug ),
433
+ '77' => __( 'Clean Cut', $this->plugin_slug ),
434
+ '36' => __( 'Flat Green', $this->plugin_slug ),
435
+ '44' => __( 'MapBox', $this->plugin_slug ),
436
+ '83' => __( 'Muted Blue', $this->plugin_slug ),
437
+ '22' => __( 'Old Timey', $this->plugin_slug ),
438
+ '1' => __( 'Pale Dawn', $this->plugin_slug ),
439
+ '19' => __( 'Paper', $this->plugin_slug ),
440
+ '37' => __( 'Lunar Landscape', $this->plugin_slug ),
441
+ '75' => __( 'Shade of Green', $this->plugin_slug ),
442
+ '27' => __( 'Shift Worker', $this->plugin_slug ),
443
+ '15' => __( 'Subtle Grayscale', $this->plugin_slug ),
444
+ '50' => __( 'The Endless Atlas', $this->plugin_slug ),
445
+ )
446
+ ) );
447
+ $display_options->add_field( array(
448
+ 'name' => __( 'Map Theme JSON', $this->plugin_slug ),
449
+ 'desc' => 'Contains the map theme JSON',
450
+ 'row_classes' => 'hidden',
451
+ 'default' => 'none',
452
+ 'id' => $prefix . 'theme_json',
453
+ 'type' => 'textarea_code'
454
+ ) );
455
+
456
+ $display_options->add_field( array(
457
+ 'name' => 'Zoom',
458
+ 'desc' => __( 'Adjust the map zoom (0-21)', $this->plugin_slug ),
459
+ 'id' => $prefix . 'zoom',
460
+ 'type' => 'select',
461
+ 'default' => '15',
462
+ 'options' => apply_filters( 'gmb_map_zoom_levels', array(
463
+ '21' => '21',
464
+ '20' => '20',
465
+ '19' => '19',
466
+ '18' => '18',
467
+ '17' => '17',
468
+ '16' => '16',
469
+ '15' => '15',
470
+ '14' => '14',
471
+ '13' => '13',
472
+ '12' => '12',
473
+ '11' => '11',
474
+ '10' => '10',
475
+ '9' => '9',
476
+ '8' => '8',
477
+ '7' => '7',
478
+ '6' => '6',
479
+ '5' => '5',
480
+ '4' => '4',
481
+ '3' => '3',
482
+ '2' => '2',
483
+ '1' => '1',
484
+ '0' => '0',
485
+ )
486
+ )
487
+ ) );
488
+
489
+ // CONTROL OPTIONS
490
+
491
+ $control_options = cmb2_get_metabox( array(
492
+ 'id' => 'google_maps_control_options',
493
+ 'title' => __( 'Map Controls', $this->plugin_slug ),
494
+ 'object_types' => array( 'google_maps' ), // post type
495
+ 'context' => 'side', // 'normal', 'advanced', or 'side'
496
+ 'priority' => 'default', // 'high', 'core', 'default' or 'low'
497
+ 'show_names' => true, // Show field names on the left
498
+ ) );
499
+
500
+ $control_options->add_field( array(
501
+ 'name' => __( 'Zoom Control', $this->plugin_slug ),
502
+ 'before' => '<span class="gmb-tooltip-text">' . __( 'Test test 123', $this->plugin_slug ) . '</span>',
503
+ 'row_classes' => 'gmb-tooltip-field',
504
+ 'id' => $prefix . 'zoom_control',
505
+ 'type' => 'select',
506
+ 'default' => 'default',
507
+ 'options' => array(
508
+ 'none' => __( 'None', $this->plugin_slug ),
509
+ 'small' => __( 'Small', $this->plugin_slug ),
510
+ 'large' => __( 'Large', $this->plugin_slug ),
511
+ 'default' => __( 'Default', $this->plugin_slug ),
512
+ ),
513
+ ) );
514
+
515
+ $control_options->add_field( array(
516
+ 'name' => __( 'Street View', $this->plugin_slug ),
517
+ 'id' => $prefix . 'street_view',
518
+ 'type' => 'select',
519
+ 'default' => 'true',
520
+ 'options' => array(
521
+ 'none' => __( 'None', $this->plugin_slug ),
522
+ 'true' => __( 'Standard', $this->plugin_slug ),
523
+ ),
524
+ ) );
525
+
526
+ $control_options->add_field( array(
527
+ 'name' => __( 'Pan Control', $this->plugin_slug ),
528
+ 'id' => $prefix . 'pan',
529
+ 'type' => 'select',
530
+ 'default' => 'true',
531
+ 'options' => array(
532
+ 'none' => __( 'None', $this->plugin_slug ),
533
+ 'true' => __( 'Standard', $this->plugin_slug ),
534
+ ),
535
+ ) );
536
+
537
+ $control_options->add_field( array(
538
+ 'name' => __( 'Map Type Control', $this->plugin_slug ),
539
+ 'id' => $prefix . 'map_type_control',
540
+ 'type' => 'select',
541
+ 'default' => 'horizontal_bar',
542
+ 'options' => array(
543
+ 'none' => __( 'None', $this->plugin_slug ),
544
+ 'dropdown_menu' => __( 'Dropdown Menu', $this->plugin_slug ),
545
+ 'horizontal_bar' => __( 'Horizontal Bar', $this->plugin_slug ),
546
+ ),
547
+ ) );
548
+
549
+ $control_options->add_field( array(
550
+ 'name' => __( 'Draggable Map', $this->plugin_slug ),
551
+ 'id' => $prefix . 'draggable',
552
+ 'type' => 'select',
553
+ 'default' => 'true',
554
+ 'options' => array(
555
+ 'none' => __( 'None', $this->plugin_slug ),
556
+ 'true' => __( 'Standard', $this->plugin_slug ),
557
+ ),
558
+ ) );
559
+
560
+ $control_options->add_field( array(
561
+ 'name' => __( 'Double Click to Zoom', $this->plugin_slug ),
562
+ 'id' => $prefix . 'double_click',
563
+ 'type' => 'select',
564
+ 'default' => 'true',
565
+ 'options' => array(
566
+ 'none' => __( 'None', $this->plugin_slug ),
567
+ 'true' => __( 'Standard', $this->plugin_slug ),
568
+ ),
569
+ ) );
570
+
571
+ $control_options->add_field( array(
572
+ 'name' => __( 'Mouse Wheel to Zoom', $this->plugin_slug ),
573
+ 'id' => $prefix . 'wheel_zoom',
574
+ 'type' => 'select',
575
+ 'default' => 'true',
576
+ 'options' => array(
577
+ 'none' => __( 'Disabled', $this->plugin_slug ),
578
+ 'true' => __( 'Standard', $this->plugin_slug ),
579
+ ),
580
+ ) );
581
+
582
+ }
583
+
584
+ /**
585
+ * CMB Width Height
586
+ *
587
+ * Custom CMB field for Gmap width and height
588
+ *
589
+ * @param $field
590
+ * @param $meta
591
+ */
592
+ function cmb2_render_width_height( $field, $meta ) {
593
+ $default_options = $this->get_default_map_options();
594
+ $meta = wp_parse_args(
595
+ $meta, array(
596
+ 'width' => $default_options['width'],
597
+ 'map_width_unit' => $default_options['width_unit'],
598
+ 'height' => $default_options['height'],
599
+ 'map_height_unit' => $default_options['height_unit'],
600
+ )
601
+ );
602
+
603
+ $output = '<div id="width_height_wrap" class="clear clearfix">';
604
+ //width
605
+ $output .= '<div id="width_wrap" class="clear">';
606
+ $output .= '<label class="width-label size-label">' . __( 'Width', $this->plugin_slug ) . '</label><input type="text" class="regular-text map-width" name="' . $field->args( 'id' ) . '[width]" id="' . $field->args( 'id' ) . '-width" value="' . ( $meta['width'] ? $meta['width'] : $field->args( 'width_std' ) ) . '" />';
607
+ $output .= '<div class="size-labels-wrap">';
608
+ $output .= '<input id="width_unit_percent" type="radio" name="' . $field->args( 'id' ) . '[map_width_unit]" class="width_radio" value="%" ' . ( $meta['map_width_unit'] === '%' || $field->args( 'width_unit_std' ) === '%' ? 'checked="checked"' : '' ) . '><label class="width_unit_label">%</label>';
609
+ $output .= '<input id="width_unit_px" type="radio" name="' . $field->args( 'id' ) . '[map_width_unit]" class="width_radio" value="px" ' . ( $meta['map_width_unit'] === 'px' ? 'checked="checked"' : '' ) . ' ><label class="width_unit_label">px</label>';
610
+ $output .= '</div>';
611
+ $output .= '</div>';
612
+
613
+ //height
614
+ $output .= '<div id="height_wrap" class="clear clearfix">';
615
+ $output .= '<label for="' . $field->args( 'id' ) . '[height]" class="height-label size-label">' . __( 'Height', $this->plugin_slug ) . ':</label><input type="text" class="regular-text map-height" name="' . $field->args( 'id' ) . '[height]" id="' . $field->args( 'id' ) . '-height" value="' . ( $meta['height'] ? $meta['height'] : $field->args( 'height_std' ) ) . '" />';
616
+
617
+ $output .= '<div class="size-labels-wrap">';
618
+ $output .= '<input id="height_unit_percent" type="radio" name="' . $field->args( 'id' ) . '[map_height_unit]" class="height_radio" value="%" ' . ( $meta['map_height_unit'] === '%' || $field->args( 'height_unit_std' ) === '%' ? 'checked="checked"' : '' ) . '><label class="height_unit_label">%</label>';
619
+ $output .= '<input id="height_unit_px" type="radio" name="' . $field->args( 'id' ) . '[map_height_unit]" class="height_radio" value="px" ' . ( $meta['map_height_unit'] === 'px' ? 'checked="checked"' : '' ) . ' ><label class="height_unit_label">px</label>';
620
+ $output .= '</div>';
621
+ $output .= '</div>';
622
+
623
+ $output .= '<p class="cmb2-metabox-description">' . __( 'Configure the default map width and height.', $this->plugin_slug ) . '</p>';
624
+
625
+ $output .= '</div>'; //end #width_height_wrap
626
+
627
+ echo $output;
628
+
629
+ }
630
+
631
+
632
+ /**
633
+ * CMB Lat Lng
634
+ *
635
+ * Custom CMB field for Gmap latitude and longitude
636
+ *
637
+ * @param $field
638
+ * @param $meta
639
+ */
640
+ function cmb2_render_lat_lng( $field, $meta ) {
641
+ $meta = wp_parse_args(
642
+ $meta, array(
643
+ 'latitude' => '',
644
+ 'longitude' => '',
645
+ )
646
+ );
647
+
648
+ //lat lng
649
+ $output = '<div id="lat-lng-wrap">
650
+ <div class="coordinates-wrap clear">
651
+ <div class="lat-lng-wrap lat-wrap clear"><span>' . __( 'Latitude:', $this->plugin_slug ) . '</span>
652
+ <input type="text" class="regular-text latitude" name="' . $field->args( 'id' ) . '[latitude]" id="' . $field->args( 'id' ) . '-latitude" value="' . ( $meta['latitude'] ? $meta['latitude'] : $field->args( 'lat_std' ) ) . '" />
653
+ </div>
654
+ <div class="lat-lng-wrap lng-wrap clear"><span>' . __( 'Longitude:', $this->plugin_slug ) . '</span>
655
+ <input type="text" class="regular-text longitude" name="' . $field->args( 'id' ) . '[longitude]" id="' . $field->args( 'id' ) . '-longitude" value="' . ( $meta['longitude'] ? $meta['longitude'] : $field->args( 'lng_std' ) ) . '" />
656
+ </div>';
657
+ $output .= '<div class="wpgp-message lat-lng-change-message clear"><p>' . __( 'Lat/lng changed', $this->plugin_slug ) . '</p><a href="#" class="button lat-lng-update-btn button-small" data-lat="" data-lng="">' . __( 'Update', $this->plugin_slug ) . '</a></div>';
658
+ $output .= '</div><!-- /.coordinates-wrap -->
659
+ </div>';
660
+
661
+
662
+ echo $output;
663
+
664
+
665
+ }
666
+
667
+ /**
668
+ * Custom Google Geocoder field
669
+ * @since 1.0.0
670
+ * @return array
671
+ */
672
+ function cmb2_render_google_geocoder( $field, $meta ) {
673
+
674
+ $meta = wp_parse_args(
675
+ $meta, array(
676
+ 'geocode' => '',
677
+ )
678
+ );
679
+
680
+ echo '<div class="autocomplete-wrap"><input type="text" name="' . $field->args( 'id' ) . '[geocode]" id="' . $field->args( 'id' ) . '" value="" class="search-autocomplete" /><p class="autocomplete-description">' .
681
+ sprintf( __( 'Enter the name of a place or an address above to create a map marker or %1$sDrop a Marker%2$s', $this->plugin_slug ), '<a href="#" class="drop-marker button button-small"><span class="dashicons dashicons-location"></span>', '</a>' ) .
682
+ '</p></div>';
683
+
684
+ }
685
+
686
+ /**
687
+ * Custom Google Geocoder field
688
+ * @since 1.0.0
689
+ */
690
+ function cmb2_render_google_maps_preview( $field, $meta ) {
691
+ global $post;
692
+ $meta = wp_parse_args( $meta, array() );
693
+ $wh_value = get_post_meta( $post->ID, 'gmb_width_height', true );
694
+ $lat_lng = get_post_meta( $post->ID, 'gmb_lat_lng', true );
695
+ $default_options = $this->get_default_map_options();
696
+
697
+ $output = '<div class="places-loading wpgp-loading">' . __( 'Loading Places', $this->plugin_slug ) . '</div><div id="google-map-wrap">';
698
+ $output .= '<div id="map" style="height:600px; width:100%;"></div>';
699
+
700
+ $output .= '<div class="map-modal-upsell"><p class="upsell-intro">' . __( 'Want more?', $this->plugin_slug ) . '</p><a href="https://wordimpress.com/plugins/maps-builder-pro?utm_source=MBF&utm_medium=BANNER&utm_content=MODAL&utm_campaign=MBF%20Modal" class="button button-small upsell-button" target="_blank">' . __( 'Go Pro!', $this->plugin_slug ) . '</a></div>';
701
+
702
+ //Toolbar
703
+ $output .= '<div id="map-toolbar">';
704
+ $output .= '<button class="add-location button button-small gmb-magnific-inline" data-target="cmb2-id-gmb-geocoder" data-auto-focus="true"><span class="dashicons dashicons-pressthis"></span>' . __( 'Add Location', $this->plugin_slug ) . '</button>';
705
+ $output .= '<button class="drop-marker button button-small"><span class="dashicons dashicons-location"></span>' . __( 'Drop a Marker', $this->plugin_slug ) . '</button>';
706
+ $output .= '<button class="goto-location button button-small gmb-magnific-inline" data-target="map-autocomplete-wrap" data-auto-focus="true"><span class="dashicons dashicons-admin-site"></span>' . __( 'Goto Location', $this->plugin_slug ) . '</button>';
707
+ $output .= '<button class="edit-title button button-small gmb-magnific-inline" data-target="map-title-wrap" data-auto-focus="true"><span class="dashicons dashicons-edit"></span>' . __( 'Edit Map Title', $this->plugin_slug ) . '</button>';
708
+
709
+ $output .= '<div class="live-lat-lng-wrap clearfix">';
710
+ $output .= '<button disabled class="update-lat-lng button button-small">' . __( 'Set Lat/Lng', $this->plugin_slug ) . '</button>';
711
+ $output .= '<div class="live-latitude-wrap"><span class="live-latitude-label">' . __( 'Lat:', $this->plugin_slug ) . '</span><span class="live-latitude">' . ( isset( $lat_lng['latitude'] ) ? $lat_lng['latitude'] : '' ) . '</span></div>';
712
+ $output .= '<div class="live-longitude-wrap"><span class="live-longitude-label">' . __( 'Lng:', $this->plugin_slug ) . '</span><span class="live-longitude">' . ( isset( $lat_lng['longitude'] ) ? $lat_lng['longitude'] : '' ) . '</span></div>';
713
+ $output .= '</div>'; //End .live-lat-lng-wrap
714
+ $output .= '</div>'; //End #map-toolbar
715
+ $output .= '</div>'; //End #map
716
+
717
+
718
+ //@TODO: Obviously Need Wrapper function
719
+ $output .= '<div class="white-popup mfp-hide map-title-wrap">';
720
+ $output .= '<div class="inner-modal-wrap">';
721
+ $output .= '<div class="inner-modal-container">';
722
+ $output .= '<div class="inner-modal clearfix">';
723
+ $output .= '<label for="post_title" class="map-title">' . __( 'Map Title', $this->plugin_slug ) . '</label>';
724
+ $output .= '<p class="cmb2-metabox-description">' . __( 'Give your Map a descriptive title', $this->plugin_slug ) . '</p>';
725
+ $output .= '<button type="button" class="gmb-modal-close">&times;</button><input type="text" name="model_post_title" size="30" value="' . get_the_title() . '" id="modal_title" spellcheck="true" autocomplete="off" placeholder="' . __( 'Enter map title', $this->plugin_slug ) . '">';
726
+ $output .= '</div>';
727
+ $output .= '</div>';
728
+ $output .= '</div>';
729
+ $output .= '</div>';
730
+
731
+ $output .= '<div class="white-popup mfp-hide map-autocomplete-wrap">';
732
+ $output .= '<div class="inner-modal-wrap">';
733
+ $output .= '<div class="inner-modal-container">';
734
+ $output .= '<div class="inner-modal clearfix">';
735
+ $output .= '<label for="map-location-autocomplete" class="map-title">' . __( 'Enter a Location', $this->plugin_slug ) . '</label>';
736
+ $output .= '<p class="cmb2-metabox-description">' . __( 'Type your point of interest below and the map will be re-centered over that location', $this->plugin_slug ) . '</p>';
737
+ $output .= '<button type="button" class="gmb-modal-close">&times;</button>';
738
+ $output .= '<input type="text" name="" size="30" id="map-location-autocomplete">';
739
+ $output .= '</div>';
740
+ $output .= '</div>';
741
+ $output .= '</div>';
742
+ $output .= '</div>';
743
+
744
+ $output .= '<div class="warning-message wpgp-message"></div>';
745
+
746
+ //Markers Modal
747
+ include( 'views/markers.php' );
748
+
749
+ echo apply_filters( 'google_maps_preview', $output );
750
+
751
+ }
752
+
753
+ /**
754
+ * Setup Custom CPT Columns
755
+ *
756
+ * @param $columns
757
+ *
758
+ * @return array
759
+ */
760
+ function setup_custom_columns( $columns ) {
761
+ $columns = array(
762
+ 'cb' => '<input type="checkbox" />',
763
+ 'title' => __( 'Google Map Title', $this->plugin_slug ),
764
+ 'shortcode' => __( 'Shortcode', $this->plugin_slug ),
765
+ 'date' => __( 'Creation Date', $this->plugin_slug )
766
+ );
767
+
768
+ return $columns;
769
+ }
770
+
771
+
772
+ /**
773
+ * Configure Custom Columns
774
+ *
775
+ * Sets the content of the custom column contents
776
+ *
777
+ * @param $column
778
+ * @param $post_id
779
+ */
780
+ function configure_custom_columns( $column, $post_id ) {
781
+ switch ( $column ) {
782
+ case 'shortcode' :
783
+
784
+ //Shortcode column with select all input
785
+ $shortcode = htmlentities( '[google_maps id="' . $post_id . '"]' );
786
+ echo '<input onClick="this.setSelectionRange(0, this.value.length)" type="text" class="shortcode-input" readonly value="' . $shortcode . '">';
787
+
788
+ break;
789
+ /* Just break out of the switch statement for everything else. */
790
+ default :
791
+ break;
792
+ }
793
+ }
794
+
795
+
796
+ /**
797
+ * Close certain metaboxes by default
798
+ *
799
+ * @param $closed
800
+ *
801
+ * @return array
802
+ */
803
+ function closed_meta_boxes( $closed ) {
804
+
805
+ if ( false === $closed ) {
806
+ $closed = array( 'google_maps_options', 'google_maps_control_options', 'google_maps_markers' );
807
+ }
808
+
809
+ return $closed;
810
+ }
811
+
812
+
813
+ } //end class
814
+
815
+ new Google_Maps_Builder_Admin();
includes/admin/class-gmb-settings.php ADDED
@@ -0,0 +1,341 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * CMB Theme Options
5
+ * @version 0.1.0
6
+ */
7
+ class Google_Maps_Builder_Settings {
8
+
9
+
10
+ /**
11
+ * Array of metaboxes/fields
12
+ * @var array
13
+ */
14
+ protected static $plugin_options = array();
15
+
16
+ public $plugin_slug;
17
+
18
+ public $options_page;
19
+
20
+ /**
21
+ * Option key, and option page slug
22
+ * @var string
23
+ */
24
+ protected static $key = 'gmb_settings';
25
+
26
+
27
+ /**
28
+ * Constructor
29
+ * @since 0.1.0
30
+ */
31
+ public function __construct() {
32
+
33
+ $this->plugin_slug = Google_Maps_Builder()->get_plugin_slug();
34
+
35
+ //Create Settings submenu
36
+ add_action( 'admin_init', array( $this, 'mninit' ) );
37
+ add_action( 'admin_menu', array( $this, 'add_page' ) );
38
+
39
+ // Load admin style sheet and JavaScript.
40
+ add_action( 'wp_ajax_hide_welcome', array( $this, 'hide_welcome_callback' ) );
41
+ add_action( 'cmb2_render_lat_lng_default', array( $this, 'cmb2_render_lat_lng_default' ), 10, 2 );
42
+
43
+ //Add links/information to plugin row meta
44
+ add_filter( 'plugin_row_meta', array( $this, 'add_plugin_meta_links' ), 10, 2 );
45
+ add_filter( 'plugin_action_links', array( $this, 'add_plugin_page_links' ), 10, 2 );
46
+ add_filter( 'cmb2_get_metabox_form_format', array( $this, 'gmb_modify_cmb2_form_output' ), 10, 3 );
47
+
48
+ }
49
+
50
+ /**
51
+ * Register our setting to WP
52
+ * @since 0.1.0
53
+ */
54
+ public function mninit() {
55
+
56
+ register_setting( self::$key, self::$key );
57
+ }
58
+
59
+ /**
60
+ * Add menu options page
61
+ * @since 1.0.0
62
+ */
63
+ public function add_page() {
64
+
65
+ $this->options_page = add_submenu_page(
66
+ 'edit.php?post_type=google_maps',
67
+ __( 'Google Maps Builder Settings', $this->plugin_slug ),
68
+ __( 'Settings', $this->plugin_slug ),
69
+ 'manage_options',
70
+ self::$key,
71
+ array( $this, 'admin_page_display' )
72
+ );
73
+
74
+ }
75
+
76
+
77
+ /**
78
+ * Hide the Settings welcome on click
79
+ *
80
+ * Sets a user meta key that once set
81
+ */
82
+ public function hide_welcome_callback() {
83
+ global $current_user;
84
+ $user_id = $current_user->ID;
85
+ add_user_meta( $user_id, 'gmb_hide_welcome', 'true', true );
86
+ wp_die(); // ajax call must die to avoid trailing 0 in your response
87
+ }
88
+
89
+
90
+ /**
91
+ * Admin page markup. Mostly handled by CMB
92
+ * @since 0.1.0
93
+ */
94
+ public function admin_page_display() {
95
+
96
+ include( 'views/settings-page.php' );
97
+
98
+ }
99
+
100
+ /**
101
+ * General Option Fields
102
+ * Defines the plugin option metabox and field configuration
103
+ * @since 1.0.0
104
+ * @return array
105
+ */
106
+ public function general_option_fields() {
107
+
108
+ // Only need to initiate the array once per page-load
109
+ if ( ! empty( self::$plugin_options ) ) {
110
+ return self::$plugin_options;
111
+ }
112
+
113
+ $prefix = 'gmb_';
114
+
115
+ self::$plugin_options = array(
116
+ 'id' => 'plugin_options',
117
+ 'show_on' => array( 'key' => 'options-page', 'value' => array( self::$key, ), ),
118
+ 'show_names' => true,
119
+ 'fields' => array(
120
+ array(
121
+ 'name' => __( 'Post Type Slug', $this->plugin_slug ),
122
+ 'desc' => sprintf( __( 'Customize the default slug for the Maps Builder post type. %1$sResave (flush) permalinks%2$s after customizing.', $this->plugin_slug ), '<a href="' . esc_url( '/wp-admin/options-permalink.php' ) . '">"', '</a>' ),
123
+ 'default' => 'google-maps',
124
+ 'id' => $prefix . 'custom_slug',
125
+ 'type' => 'text_small'
126
+ ),
127
+ array(
128
+ 'name' => __( 'Menu Position', $this->plugin_slug ),
129
+ 'desc' => sprintf( __( 'Set the menu position for Google Maps Builder. See the %1$smenu_position arg%2$s.', $this->plugin_slug ), '<a href="' . esc_url( 'http://codex.wordpress.org/Function_Reference/register_post_type#menu_position' ) . '" class="new-window" target="_blank">', '</a>' ),
130
+ 'default' => '21.3',
131
+ 'id' => $prefix . 'menu_position',
132
+ 'type' => 'text_small'
133
+ ),
134
+ array(
135
+ 'name' => __( 'Has Archive', $this->plugin_slug ),
136
+ 'id' => $prefix . 'has_archive',
137
+ 'desc' => sprintf( __( 'Controls the post type archive page. See %1s$Resave (flush) permalinks%2s$ after customizing.', $this->plugin_slug ), '<a href="' . esc_url( '/wp-admin/options-permalink.php' ) . '">"', '</a>' ),
138
+ 'type' => 'radio_inline',
139
+ 'options' => array(
140
+ 'true' => __( 'Yes', 'cmb' ),
141
+ 'false' => __( 'No', 'cmb' ),
142
+ ),
143
+ ),
144
+ array(
145
+ 'name' => __( 'Opening Map Builder', $this->plugin_slug ),
146
+ 'id' => $prefix . 'open_builder',
147
+ 'desc' => __( 'Do you want the Map Builder customizer to open by default when editing maps?', $this->plugin_slug ),
148
+ 'type' => 'radio_inline',
149
+ 'options' => array(
150
+ 'true' => __( 'Yes', 'cmb' ),
151
+ 'false' => __( 'No', 'cmb' ),
152
+ ),
153
+ ),
154
+ ),
155
+ );
156
+
157
+ return self::$plugin_options;
158
+
159
+ }
160
+
161
+ /**
162
+ * Map Option Fields
163
+ * Defines the plugin option metabox and field configuration
164
+ * @since 1.0.0
165
+ * @return array
166
+ */
167
+ public function map_option_fields() {
168
+
169
+ // Only need to initiate the array once per page-load
170
+ if ( ! empty( self::$plugin_options ) ) {
171
+ return self::$plugin_options;
172
+ }
173
+
174
+ $prefix = 'gmb_';
175
+
176
+ self::$plugin_options = array(
177
+ 'id' => 'plugin_options',
178
+ 'show_on' => array( 'key' => 'options-page', 'value' => array( self::$key, ), ),
179
+ 'show_names' => true,
180
+ 'fields' => array(
181
+ array(
182
+ 'name' => __( 'Google Maps API Key', $this->plugin_slug ),
183
+ 'desc' => sprintf( __( 'The Google Maps JavaScript API v3 does not require an API key to function correctly. However, Google strongly encourages you to load the Maps API using an APIs Console key which allows you to monitor your Maps API usage. %1$sLearn how to obtain an API key%2$s.', $this->plugin_slug ), '<a href="' . esc_url( 'https://developers.google.com/maps/documentation/javascript/tutorial#api_key' ) . '" target="_blank" class="new-window">', '</a>' ),
184
+ 'id' => $prefix . 'maps_api_key',
185
+ 'type' => 'text',
186
+ ),
187
+ array(
188
+ 'name' => __( 'Map Size', $this->plugin_slug ),
189
+ 'id' => $prefix . 'width_height',
190
+ 'type' => 'width_height',
191
+ 'width_std' => '100',
192
+ 'width_unit_std' => '%',
193
+ 'height_std' => '600',
194
+ 'lat_std' => '32.7153292',
195
+ 'lng_std' => '-117.15725509',
196
+ 'desc' => '',
197
+ ),
198
+ array(
199
+ 'name' => __( 'Map Location', $this->plugin_slug ),
200
+ 'id' => $prefix . 'lat_lng',
201
+ 'type' => 'lat_lng_default',
202
+ 'lat_std' => '32.7153292',
203
+ 'lng_std' => '-117.15725509',
204
+ 'desc' => '',
205
+ ),
206
+ ),
207
+ );
208
+
209
+ return self::$plugin_options;
210
+
211
+ }
212
+
213
+ /**
214
+ * CMB Lat Lng
215
+ *
216
+ * Custom CMB field for Gmap latitude and longitude
217
+ *
218
+ * @param $field
219
+ * @param $meta
220
+ */
221
+ function cmb2_render_lat_lng_default( $field, $meta ) {
222
+
223
+ $meta = wp_parse_args(
224
+ $meta, array(
225
+ 'geolocate_map' => 'yes',
226
+ 'latitude' => '',
227
+ 'longitude' => '',
228
+ )
229
+ );
230
+
231
+ //Geolocate
232
+ $output = '<div id="geolocate-wrap" class="clear">';
233
+ $output .= '<label class="geocode-label size-label">' . __( 'Geolocate Position', $this->plugin_slug ) . ':</label>';
234
+ $output .= '<div class="geolocate-radio-wrap size-labels-wrap">';
235
+ $output .= '<label class="yes-label label-left"><input id="geolocate_map_yes" type="radio" name="' . $field->args['id'] . '[geolocate_map]" class="geolocate_map_radio radio-left" value="yes" ' . ( $meta['geolocate_map'] === 'yes' ? 'checked="checked"' : '' ) . '>' . __( 'Yes', $this->plugin_slug ) . '</label>';
236
+
237
+ $output .= '<label class="no-label label-left"><input id="geolocate_map_no" type="radio" name="' . $field->args['id'] . '[geolocate_map]" class="geolocate_map_radio radio-left" value="no" ' . ( $meta['geolocate_map'] === 'no' ? 'checked="checked"' : '' ) . ' >' . __( 'No', $this->plugin_slug ) . '</label>';
238
+ $output .= '</div>';
239
+ $output .= '</div>';
240
+
241
+ //lat_lng
242
+ $output .= '<div id="lat-lng-wrap"><div class="coordinates-wrap clear">';
243
+ $output .= '<div class="lat-lng-wrap lat-wrap clear"><span>' . __( 'Latitude', $this->plugin_slug ) . ': </span>
244
+ <input type="text" class="regular-text latitude" name="' . $field->args['id'] . '[latitude]" id="' . $field->args['id'] . '-latitude" value="' . ( $meta['latitude'] ? $meta['latitude'] : $field->args['lat_std'] ) . '" /></div><div class="lat-lng-wrap lng-wrap clear"><span>' . __( 'Longitude', $this->plugin_slug ) . ': </span>
245
+ <input type="text" class="regular-text longitude" name="' . $field->args['id'] . '[longitude]" id="' . $field->args['id'] . '-longitude" value="' . ( $meta['longitude'] ? $meta['longitude'] : $field->args['lng_std'] ) . '" />
246
+ </div>';
247
+ $output .= '<p class="small-desc">' . sprintf( __( 'For quick lat/lng lookup use <a href="%s" class="new-window" target="_blank">this service</a>', $this->plugin_slug ), esc_url( 'http://www.latlong.net/' ) ) . '</p>';
248
+ $output .= '</div><!-- /.search-coordinates-wrap -->';
249
+
250
+ $output .= '</div>'; //end #geolocate-wrap
251
+ $output .= '<p class="cmb2-metabox-description">' . __( 'When creating a new map the plugin will use your current longitude and latitude for the base location. If you see a blank space instead of the map, this is most likely because you have denied permission for location sharing. You may also specify a default longitude and latitude by turning off this option.', $this->plugin_slug ) . '</p>';
252
+
253
+
254
+ echo $output;
255
+
256
+
257
+ }
258
+
259
+
260
+ /**
261
+ * Make public the protected $key variable.
262
+ * @since 0.1.0
263
+ * @return string Option key
264
+ */
265
+ public static function key() {
266
+ return self::$key;
267
+ }
268
+
269
+
270
+ /**
271
+ * Add links to Plugin listings view
272
+ *
273
+ * @param $links
274
+ *
275
+ * @return mixed
276
+ */
277
+ function add_plugin_page_links( $links, $file ) {
278
+
279
+ if ( $file == GMB_PLUGIN_BASE ) {
280
+
281
+ // Add Widget Page link to our plugin
282
+ $settings_link = '<a href="edit.php?post_type=google_maps&page=' . self::$key . '" title="' . __( 'Visit the Google Maps Builder plugin settings page', $this->plugin_slug ) . '">' . __( 'Settings', $this->plugin_slug ) . '</a>';
283
+ $go_pro_link = '<a href="
284
+ https://wordimpress.com/plugins/maps-builder-pro?utm_source=MBF&utm_medium=BANNER&utm_content=LISTING&utm_campaign=MBF%20LISTING" title="' . __( 'Upgrade to Maps Builder Pro', $this->plugin_slug ) . '" target="_blank">' . __( 'Upgrade to Pro', $this->plugin_slug ) . '</a>';
285
+ array_unshift( $links, $settings_link );
286
+ array_push( $links, $go_pro_link );
287
+ }
288
+
289
+ return $links;
290
+ }
291
+
292
+ function add_plugin_meta_links( $meta, $file ) {
293
+
294
+ if ( $file == GMB_PLUGIN_BASE ) {
295
+ $meta[] = "<a href='http://wordpress.org/support/view/plugin-reviews/google-maps-builder' target='_blank' title='" . __( 'Rate Google Maps Builder on WordPress.org', $this->plugin_slug ) . "'>" . __( 'Rate Plugin', $this->plugin_slug ) . "</a>";
296
+ $meta[] = '<a href="http://wordpress.org/support/plugin/google-maps-builder/" target="_blank" title="' . __( 'Get plugin support via the WordPress community', $this->plugin_slug ) . '">' . __( 'Support', $this->plugin_slug ) . '</a>';
297
+ $meta[] = __( 'Thank you for using Maps Builder', $this->plugin_slug );
298
+ }
299
+
300
+ return $meta;
301
+ }
302
+
303
+ /**
304
+ * Modify CMB2 Default Form Output
305
+ *
306
+ * @param string @args
307
+ *
308
+ * @since 2.0
309
+ *
310
+ * @param $form_format
311
+ * @param $object_id
312
+ * @param $cmb
313
+ *
314
+ * @return string
315
+ */
316
+ function gmb_modify_cmb2_form_output( $form_format, $object_id, $cmb ) {
317
+
318
+ //only modify the give settings form
319
+ if ( 'gmb_settings' == $object_id && 'plugin_options' == $cmb->cmb_id ) {
320
+
321
+ return '<form class="cmb-form" method="post" id="%1$s" enctype="multipart/form-data" encoding="multipart/form-data"><input type="hidden" name="object_id" value="%2$s">%3$s<div class="gmb-submit-wrap"><input type="submit" name="submit-cmb" value="' . __( 'Save Settings', 'give' ) . '" class="button-primary"></div></form>';
322
+ }
323
+
324
+ return $form_format;
325
+
326
+ }
327
+
328
+
329
+ }
330
+
331
+ /**
332
+ * Wrapper function around cmb_get_option
333
+ * @since 0.1.0
334
+ *
335
+ * @param string $key Options array key
336
+ *
337
+ * @return mixed Option value
338
+ */
339
+ function gmb_get_option( $key = '' ) {
340
+ return cmb2_get_option( Google_Maps_Builder_Settings::key(), $key );
341
+ }
includes/admin/class-gmb-shortcode-generator.php ADDED
@@ -0,0 +1,402 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * GMB_Shortcode_Generator class.
5
+ *
6
+ * @description: Adds a TinyMCE button that's clickable
7
+ *
8
+ * @since 2.0
9
+ */
10
+ class GMB_Shortcode_Generator {
11
+
12
+ /**
13
+ * Constructor
14
+ */
15
+ public function __construct() {
16
+
17
+ $this->plugin_slug = Google_Maps_Builder()->get_plugin_slug();
18
+
19
+ add_action( 'admin_head', array( $this, 'add_shortcode_button' ), 20 );
20
+ add_filter( 'tiny_mce_version', array( $this, 'refresh_mce' ), 20 );
21
+ add_filter( 'mce_external_languages', array( $this, 'add_tinymce_lang' ), 20, 1 );
22
+
23
+ // Tiny MCE button icon
24
+ add_action( 'admin_head', array( $this, 'set_tinymce_button_icon' ) );
25
+ add_action( 'wp_ajax_gmb_shortcode_iframe', array( $this, 'gmb_shortcode_iframe' ), 9 );
26
+ }
27
+
28
+ /**
29
+ * Add a button for the GPR shortcode to the WP editor.
30
+ */
31
+ public function add_shortcode_button() {
32
+ global $post, $pagenow;
33
+
34
+ if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) {
35
+ return;
36
+ }
37
+ //Be sure to not allow on out post type
38
+ if ( ! isset( $post->post_type ) || $post->post_type === 'google_maps' ) {
39
+ return;
40
+ }
41
+
42
+ if ( ! in_array( $pagenow, array( 'post.php', 'post-new.php' ) ) ) {
43
+ return;
44
+ }
45
+
46
+ // check if WYSIWYG is enabled
47
+ if ( get_user_option( 'rich_editing' ) == 'true' ) {
48
+ add_filter( 'mce_external_plugins', array( $this, 'add_shortcode_tinymce_plugin' ), 10 );
49
+ add_filter( 'mce_buttons', array( $this, 'register_shortcode_button' ), 10 );
50
+ }
51
+ }
52
+
53
+ /**
54
+ * Add TinyMCE language function.
55
+ *
56
+ * @param array $arr
57
+ *
58
+ * @return array
59
+ */
60
+ public function add_tinymce_lang( $arr ) {
61
+ $arr['gmb_shortcode_button'] = GMB_PLUGIN_PATH . '/includes/admin/shortcode-generator-i18n.php';
62
+
63
+ return $arr;
64
+ }
65
+
66
+ /**
67
+ * Register the shortcode button.
68
+ *
69
+ * @param array $buttons
70
+ *
71
+ * @return array
72
+ */
73
+ public function register_shortcode_button( $buttons ) {
74
+
75
+ array_push( $buttons, '|', 'gmb_shortcode_button' );
76
+
77
+ return $buttons;
78
+ }
79
+
80
+ /**
81
+ * Add the shortcode button to TinyMCE
82
+ *
83
+ * @param array $plugin_array
84
+ *
85
+ * @return array
86
+ */
87
+ public function add_shortcode_tinymce_plugin( $plugin_array ) {
88
+
89
+ $plugin_array['gmb_shortcode_button'] = GMB_PLUGIN_URL . 'assets/js/admin/admin-shortcode.js';
90
+
91
+ return $plugin_array;
92
+ }
93
+
94
+ /**
95
+ * Force TinyMCE to refresh.
96
+ *
97
+ * @param int $ver
98
+ *
99
+ * @return int
100
+ */
101
+ public function refresh_mce( $ver ) {
102
+ $ver += 3;
103
+
104
+ return $ver;
105
+ }
106
+
107
+ /**
108
+ * Adds admin styles for setting the tinymce button icon
109
+ */
110
+ public static function set_tinymce_button_icon() {
111
+ ?>
112
+ <style>
113
+ i.mce-i-gmb {
114
+ font: 400 20px/1 dashicons;
115
+ padding: 0;
116
+ vertical-align: top;
117
+ speak: none;
118
+ -webkit-font-smoothing: antialiased;
119
+ -moz-osx-font-smoothing: grayscale;
120
+ margin-left: -2px;
121
+ padding-right: 2px
122
+ }
123
+
124
+ #gmb_shortcode_dialog-body {
125
+ background: #F1F1F1;
126
+ }
127
+
128
+ .gmb-shortcode-submit {
129
+ margin: 0 -15px;
130
+ position: fixed;
131
+ bottom: 0;
132
+ background: #FFF;
133
+ width: 100%;
134
+ padding: 15px;
135
+ border-top: 1px solid #DDD;
136
+ }
137
+
138
+ </style>
139
+ <?php
140
+ }
141
+
142
+ /**
143
+ * Display the contents of the iframe used when the GPR Shortcode Generator is clicked
144
+ * TinyMCE button is clicked.
145
+ *
146
+ * @param int $ver
147
+ *
148
+ * @return int
149
+ */
150
+ public static function gmb_shortcode_iframe() {
151
+ set_current_screen( 'google-maps-builder' );
152
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
153
+
154
+ //Shortcode Generator Specific JS
155
+ wp_register_script( 'gmb-shortcode-generator', GMB_PLUGIN_URL . 'assets/js/admin/shortcode-iframe' . $suffix . '.js', array( 'jquery' ) );
156
+ wp_enqueue_script( 'gmb-shortcode-generator' );
157
+
158
+ iframe_header(); ?>
159
+
160
+ <style>
161
+ #gmb-wrap {
162
+ margin: 0 1em;
163
+ overflow: hidden;
164
+ padding-bottom: 75px;
165
+ }
166
+
167
+ /* iFrame Styles */
168
+ #gmb_settings label {
169
+ margin-bottom: 3px;
170
+ display: block;
171
+ }
172
+
173
+ div.gmb-shortcode-hidden-fields-wrap {
174
+ display: none;
175
+ }
176
+
177
+ .gmb-place-search-wrap > div.gmb-map-select {
178
+ width: 65%;
179
+ margin-right: 2%;
180
+ float: left;
181
+ }
182
+
183
+ div.updated {
184
+ width: 100%;
185
+ float: left;
186
+ box-sizing: border-box;
187
+ }
188
+
189
+ div.gmb-edit-shortcode {
190
+ border-color: orange;
191
+ }
192
+
193
+ .shortcode-upsell {
194
+ position: absolute;
195
+ bottom: 10px;
196
+ right: 10px;
197
+ padding: 5px 10px !important;
198
+ font-size: 13px !important;
199
+ }
200
+
201
+ .shortcode-upsell span.dashicons {
202
+ font-size: 12px;
203
+ height: 14px;
204
+ position: relative;
205
+ top: 3px;
206
+ opacity: 0.8;
207
+ width: 12px;
208
+ }
209
+ </style>
210
+ <div class="wrap" id="gmb-wrap">
211
+ <form id="gmb_settings" style="float: left; width: 100%;">
212
+ <?php do_action( 'gmb_shortcode_iframe_before' ); ?>
213
+ <fieldset id="gmb_location_lookup_fields" class="gmb-place-search-wrap clear" style="margin:1em 0;">
214
+ <div class="gmb-map-select">
215
+ <label for="gmb_location_lookup"><strong><?php _e( 'Choose a Map', 'google-maps-builder' ); ?></strong></label>
216
+ <?php echo self::maps_dropdown(); ?>
217
+ </div>
218
+ </fieldset>
219
+
220
+ <div class="updated new-shortcode">
221
+ <p><?php _e( '<strong>Insert Shortcode</strong>: Select your desired map from the dropdown above then click create shortcode below.', 'google-maps-builder' ); ?></p>
222
+ </div>
223
+
224
+ <div class="updated gmb-edit-shortcode" style="display: none;">
225
+ <p><?php _e( '<strong>Edit Active Shortcode:</strong> Customize the map for this shortcode by modifying the map selection above.', 'google-maps-builder' ); ?></p>
226
+ </div>
227
+
228
+ <?php do_action( 'gmb_shortcode_iframe_after' ); ?>
229
+
230
+ <fieldset class="gmb-shortcode-submit">
231
+ <input id="gmb_submit" type="submit" class="button-small button-primary" value="<?php _e( 'Create Shortcode', 'google-maps-builder' ); ?>" />
232
+ <input id="gmb_cancel" type="button" class="button-small button-secondary" value="<?php _e( 'Cancel', 'google-maps-builder' ); ?>" />
233
+ </fieldset>
234
+
235
+ </form>
236
+ <a href="https://wordimpress.com/plugins/maps-builder-pro?utm_source=MBF&utm_medium=BANNER&utm_content=SHORTCODE&utm_campaign=MBF%20Shortcode" class="button button-small shortcode-upsell" target="_blank"><?php _e( 'Go Pro', 'google-maps-builder' ); ?>
237
+ <span class="dashicons dashicons-external"></span></a>
238
+ </div>
239
+
240
+
241
+ <?php iframe_footer();
242
+ exit();
243
+ }
244
+
245
+
246
+ /**
247
+ * Renders an HTML Dropdown of all the Give Forms
248
+ *
249
+ * @access public
250
+ * @since 2.0
251
+ *
252
+ * @param array $args Arguments for the dropdown
253
+ *
254
+ * @return string $output Give forms dropdown
255
+ */
256
+ public static function maps_dropdown( $args = array() ) {
257
+
258
+ $defaults = array(
259
+ 'name' => 'gmb-maps',
260
+ 'id' => 'gmb-maps',
261
+ 'class' => '',
262
+ 'multiple' => false,
263
+ 'selected' => 0,
264
+ 'chosen' => false,
265
+ 'number' => 30,
266
+ 'placeholder' => __( 'Select a Map', 'google-maps-builder' )
267
+ );
268
+
269
+ $args = wp_parse_args( $args, $defaults );
270
+
271
+ $maps = get_posts( array(
272
+ 'post_type' => 'google_maps',
273
+ 'orderby' => 'title',
274
+ 'order' => 'ASC',
275
+ 'posts_per_page' => $args['number']
276
+ ) );
277
+
278
+ $options = array();
279
+
280
+ if ( $maps ) {
281
+ $options[0] = __( 'Select a Map', 'google-maps-builder' );
282
+ foreach ( $maps as $map ) {
283
+ $options[ absint( $map->ID ) ] = esc_html( $map->post_title );
284
+ }
285
+ } else {
286
+ $options[0] = __( 'No Maps Found', 'google-maps-builder' );
287
+ }
288
+
289
+ // This ensures that any selected maps are included in the drop down
290
+ if ( is_array( $args['selected'] ) ) {
291
+ foreach ( $args['selected'] as $item ) {
292
+ if ( ! in_array( $item, $options ) ) {
293
+ $options[ $item ] = get_the_title( $item );
294
+ }
295
+ }
296
+ } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) {
297
+ if ( ! in_array( $args['selected'], $options ) ) {
298
+ $options[ $args['selected'] ] = get_the_title( $args['selected'] );
299
+ }
300
+ }
301
+
302
+ $output = self::select( array(
303
+ 'name' => $args['name'],
304
+ 'selected' => $args['selected'],
305
+ 'id' => $args['id'],
306
+ 'class' => $args['class'],
307
+ 'options' => $options,
308
+ 'chosen' => $args['chosen'],
309
+ 'multiple' => $args['multiple'],
310
+ 'placeholder' => $args['placeholder'],
311
+ 'show_option_all' => false,
312
+ 'show_option_none' => false
313
+ ) );
314
+
315
+ return $output;
316
+ }
317
+
318
+
319
+ /**
320
+ * Renders an HTML Dropdown
321
+ *
322
+ * @since 2.0
323
+ *
324
+ * @param array $args
325
+ *
326
+ * @return string
327
+ */
328
+ public static function select( $args = array() ) {
329
+
330
+ $defaults = array(
331
+ 'options' => array(),
332
+ 'name' => null,
333
+ 'class' => '',
334
+ 'id' => '',
335
+ 'selected' => 0,
336
+ 'chosen' => false,
337
+ 'placeholder' => null,
338
+ 'multiple' => false,
339
+ 'show_option_all' => _x( 'All', 'all dropdown items', 'google-maps-builder' ),
340
+ 'show_option_none' => _x( 'None', 'no dropdown items', 'google-maps-builder' )
341
+ );
342
+
343
+ $args = wp_parse_args( $args, $defaults );
344
+
345
+ if ( $args['multiple'] ) {
346
+ $multiple = ' MULTIPLE';
347
+ } else {
348
+ $multiple = '';
349
+ }
350
+
351
+ if ( $args['chosen'] ) {
352
+ $args['class'] .= 'gmb-select-chosen';
353
+ }
354
+
355
+ if ( $args['placeholder'] ) {
356
+ $placeholder = $args['placeholder'];
357
+ } else {
358
+ $placeholder = '';
359
+ }
360
+
361
+ $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( sanitize_key( str_replace( '-', '_', $args['id'] ) ) ) . '" class="gmb-select ' . esc_attr( $args['class'] ) . '"' . $multiple . ' data-placeholder="' . $placeholder . '">';
362
+
363
+ if ( $args['show_option_all'] ) {
364
+ if ( $args['multiple'] ) {
365
+ $selected = selected( true, in_array( 0, $args['selected'] ), false );
366
+ } else {
367
+ $selected = selected( $args['selected'], 0, false );
368
+ }
369
+ $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
370
+ }
371
+
372
+ if ( ! empty( $args['options'] ) ) {
373
+
374
+ if ( $args['show_option_none'] ) {
375
+ if ( $args['multiple'] ) {
376
+ $selected = selected( true, in_array( - 1, $args['selected'] ), false );
377
+ } else {
378
+ $selected = selected( $args['selected'], - 1, false );
379
+ }
380
+ $output .= '<option value="-1"' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
381
+ }
382
+
383
+ foreach ( $args['options'] as $key => $option ) {
384
+
385
+ if ( $args['multiple'] && is_array( $args['selected'] ) ) {
386
+ $selected = selected( true, in_array( $key, $args['selected'] ), false );
387
+ } else {
388
+ $selected = selected( $args['selected'], $key, false );
389
+ }
390
+
391
+ $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
392
+ }
393
+ }
394
+
395
+ $output .= '</select>';
396
+
397
+ return $output;
398
+ }
399
+
400
+ }
401
+
402
+ new GMB_Shortcode_Generator();
includes/admin/shortcode-generator-i18n.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $strings = 'tinyMCE.addI18n({' . _WP_Editors::$mce_locale . ':{
4
+ gmb:{
5
+ shortcode_generator_title: "' . esc_js( __( 'Maps Builder Shortcode Generator', 'google-maps-reviews' ) ) . '",
6
+ shortcode_tag: "' . esc_js( apply_filters( 'gmb_shortcode_tag', 'google_maps' ) ) . '"
7
+ }
8
+ }})';
includes/admin/system-info.php ADDED
@@ -0,0 +1,283 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * System Info
4
+ *
5
+ * These are functions
6
+ *
7
+ * @package GoogleMapsBuilder
8
+ * @subpackage Admin/System
9
+ * @copyright Copyright (c) 2015, WordImpress
10
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+
19
+ /**
20
+ * Display the system info tab
21
+ *
22
+ * @since 1.0
23
+ * @return void
24
+ */
25
+ function gmb_system_info_callback() {
26
+
27
+ if ( ! current_user_can( 'install_plugins' ) ) {
28
+ return;
29
+ }
30
+
31
+ ?>
32
+ <textarea readonly="readonly" onclick="this.focus(); this.select()" id="system-info-textarea" name="gmb-sysinfo" title="To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac)."><?php echo gmb_tools_sysinfo_get(); ?></textarea>
33
+ <p class="submit">
34
+ <input type="hidden" name="gmb_action" value="download_sysinfo" />
35
+ <?php submit_button( __( 'Download System Info File', 'google-maps-builder' ), 'secondary', 'gmb-download-sysinfo', false ); ?>
36
+ </p>
37
+ <style>
38
+ .gmb_forms_page_gmb-settings .gmb-submit-wrap {
39
+ display: none; /* Hide Save settings button on System Info Tab (not needed) */
40
+ }
41
+ </style>
42
+ <?php
43
+ }
44
+
45
+
46
+ /**
47
+ * Get system info
48
+ *
49
+ * @since 1.0
50
+ * @access public
51
+ * @global object $wpdb Used to query the database using the WordPress Database API
52
+ * @global array $gmb_options Array of all Maps Builder options
53
+ * @return string $return A string containing the info to output
54
+ */
55
+ function gmb_tools_sysinfo_get() {
56
+ global $wpdb, $gmb_options;
57
+
58
+ if ( ! class_exists( 'Browser' ) ) {
59
+ require_once GMB_PLUGIN_PATH . 'includes/libraries/browser.php';
60
+ }
61
+
62
+ $browser = new Browser();
63
+
64
+ // Get theme info
65
+ if ( get_bloginfo( 'version' ) < '3.4' ) {
66
+ $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' );
67
+ $theme = $theme_data['Name'] . ' ' . $theme_data['Version'];
68
+ } else {
69
+ $theme_data = wp_get_theme();
70
+ $theme = $theme_data->Name . ' ' . $theme_data->Version;
71
+ }
72
+
73
+ // Try to identify the hosting provider
74
+ $host = gmb_get_host();
75
+
76
+ $return = '### Begin System Info ###' . "\n\n";
77
+
78
+ // Start with the basics...
79
+ $return .= '-- Site Info' . "\n\n";
80
+ $return .= 'Site URL: ' . site_url() . "\n";
81
+ $return .= 'Home URL: ' . home_url() . "\n";
82
+ $return .= 'Multisite: ' . ( is_multisite() ? 'Yes' : 'No' ) . "\n";
83
+
84
+ $return = apply_filters( 'gmb_sysinfo_after_site_info', $return );
85
+
86
+ // Can we determine the site's host?
87
+ if ( $host ) {
88
+ $return .= "\n" . '-- Hosting Provider' . "\n\n";
89
+ $return .= 'Host: ' . $host . "\n";
90
+
91
+ $return = apply_filters( 'gmb_sysinfo_after_host_info', $return );
92
+ }
93
+
94
+ // The local users' browser information, handled by the Browser class
95
+ $return .= "\n" . '-- User Browser' . "\n\n";
96
+ $return .= $browser;
97
+
98
+ $return = apply_filters( 'gmb_sysinfo_after_user_browser', $return );
99
+
100
+ // WordPress configuration
101
+ $return .= "\n" . '-- WordPress Configuration' . "\n\n";
102
+ $return .= 'Version: ' . get_bloginfo( 'version' ) . "\n";
103
+ $return .= 'Language: ' . ( defined( 'WPLANG' ) && WPLANG ? WPLANG : 'en_US' ) . "\n";
104
+ $return .= 'Permalink Structure: ' . ( get_option( 'permalink_structure' ) ? get_option( 'permalink_structure' ) : 'Default' ) . "\n";
105
+ $return .= 'Active Theme: ' . $theme . "\n";
106
+ $return .= 'Show On Front: ' . get_option( 'show_on_front' ) . "\n";
107
+
108
+ // Only show page specs if frontpage is set to 'page'
109
+ if ( get_option( 'show_on_front' ) == 'page' ) {
110
+ $front_page_id = get_option( 'page_on_front' );
111
+ $blog_page_id = get_option( 'page_for_posts' );
112
+
113
+ $return .= 'Page On Front: ' . ( $front_page_id != 0 ? get_the_title( $front_page_id ) . ' (#' . $front_page_id . ')' : 'Unset' ) . "\n";
114
+ $return .= 'Page For Posts: ' . ( $blog_page_id != 0 ? get_the_title( $blog_page_id ) . ' (#' . $blog_page_id . ')' : 'Unset' ) . "\n";
115
+ }
116
+
117
+ // Make sure wp_remote_post() is working
118
+ $request['cmd'] = '_notify-validate';
119
+
120
+ $params = array(
121
+ 'sslverify' => false,
122
+ 'timeout' => 60,
123
+ 'user-agent' => 'Maps Builder/' . GMB_VERSION,
124
+ 'body' => $request
125
+ );
126
+
127
+ $response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
128
+
129
+ if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
130
+ $WP_REMOTE_POST = 'wp_remote_post() works';
131
+ } else {
132
+ $WP_REMOTE_POST = 'wp_remote_post() does not work';
133
+ }
134
+
135
+ $return .= 'Remote Post: ' . $WP_REMOTE_POST . "\n";
136
+ $return .= 'Table Prefix: ' . 'Length: ' . strlen( $wpdb->prefix ) . ' Status: ' . ( strlen( $wpdb->prefix ) > 16 ? 'ERROR: Too long' : 'Acceptable' ) . "\n";
137
+ $return .= 'Admin AJAX: ' . ( gmb_test_ajax_works() ? 'Accessible' : 'Inaccessible' ) . "\n";
138
+ $return .= 'WP_DEBUG: ' . ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set' ) . "\n";
139
+ $return .= 'Memory Limit: ' . WP_MEMORY_LIMIT . "\n";
140
+ $return .= 'Registered Post Stati: ' . implode( ', ', get_post_stati() ) . "\n";
141
+
142
+ $return = apply_filters( 'gmb_sysinfo_after_wordpress_config', $return );
143
+
144
+ // GMB configuration
145
+ $return .= "\n" . '-- Maps Builder Configuration' . "\n\n";
146
+ $return .= 'Version: ' . GMB_VERSION . "\n";
147
+ $return .= 'Upgraded From: ' . get_option( 'gmb_version_upgraded_from', 'None' ) . "\n";
148
+
149
+ $return = apply_filters( 'gmb_sysinfo_after_gmb_config', $return );
150
+
151
+
152
+ // Must-use plugins
153
+ $muplugins = get_mu_plugins();
154
+ if ( count( $muplugins > 0 ) ) {
155
+ $return .= "\n" . '-- Must-Use Plugins' . "\n\n";
156
+
157
+ foreach ( $muplugins as $plugin => $plugin_data ) {
158
+ $return .= $plugin_data['Name'] . ': ' . $plugin_data['Version'] . "\n";
159
+ }
160
+
161
+ $return = apply_filters( 'gmb_sysinfo_after_wordpress_mu_plugins', $return );
162
+ }
163
+
164
+ // WordPress active plugins
165
+ $return .= "\n" . '-- WordPress Active Plugins' . "\n\n";
166
+
167
+ $plugins = get_plugins();
168
+ $active_plugins = get_option( 'active_plugins', array() );
169
+
170
+ foreach ( $plugins as $plugin_path => $plugin ) {
171
+ if ( ! in_array( $plugin_path, $active_plugins ) ) {
172
+ continue;
173
+ }
174
+
175
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . "\n";
176
+ }
177
+
178
+ $return = apply_filters( 'gmb_sysinfo_after_wordpress_plugins', $return );
179
+
180
+ // WordPress inactive plugins
181
+ $return .= "\n" . '-- WordPress Inactive Plugins' . "\n\n";
182
+
183
+ foreach ( $plugins as $plugin_path => $plugin ) {
184
+ if ( in_array( $plugin_path, $active_plugins ) ) {
185
+ continue;
186
+ }
187
+
188
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . "\n";
189
+ }
190
+
191
+ $return = apply_filters( 'gmb_sysinfo_after_wordpress_plugins_inactive', $return );
192
+
193
+ if ( is_multisite() ) {
194
+ // WordPress Multisite active plugins
195
+ $return .= "\n" . '-- Network Active Plugins' . "\n\n";
196
+
197
+ $plugins = wp_get_active_network_plugins();
198
+ $active_plugins = get_site_option( 'active_sitewide_plugins', array() );
199
+
200
+ foreach ( $plugins as $plugin_path ) {
201
+ $plugin_base = plugin_basename( $plugin_path );
202
+
203
+ if ( ! array_key_exists( $plugin_base, $active_plugins ) ) {
204
+ continue;
205
+ }
206
+
207
+ $plugin = get_plugin_data( $plugin_path );
208
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . "\n";
209
+ }
210
+
211
+ $return = apply_filters( 'gmb_sysinfo_after_wordpress_ms_plugins', $return );
212
+ }
213
+
214
+ // Server configuration (really just versioning)
215
+ $return .= "\n" . '-- Webserver Configuration' . "\n\n";
216
+ $return .= 'PHP Version: ' . PHP_VERSION . "\n";
217
+ $return .= 'MySQL Version: ' . $wpdb->db_version() . "\n";
218
+ $return .= 'Webserver Info: ' . $_SERVER['SERVER_SOFTWARE'] . "\n";
219
+
220
+ $return = apply_filters( 'gmb_sysinfo_after_webserver_config', $return );
221
+
222
+ // PHP configs... now we're getting to the important stuff
223
+ $return .= "\n" . '-- PHP Configuration' . "\n\n";
224
+ $return .= 'Safe Mode: ' . ( ini_get( 'safe_mode' ) ? 'Enabled' : 'Disabled' . "\n" );
225
+ $return .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
226
+ $return .= 'Upload Max Size: ' . ini_get( 'upload_max_filesize' ) . "\n";
227
+ $return .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
228
+ $return .= 'Upload Max Filesize: ' . ini_get( 'upload_max_