/* Copyright 2012 Google Inc.  All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy
of the License at: http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distrib-
uted under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied.  See the License for
specific language governing permissions and limitations under the License. */

html, body {
  width:100%;
  height:100%;
  margin:0;
  padding:0;
}
.cm-body, .cm-frame, .cm-frame input, .cm-frame button,
.cm-popup, .cm-popup input, .cm-about {
  font-size:13px;
  font-family:arial,sans-serif;
  color:#222;
}
.cm-embedded {
  overflow:auto;
}
.cm-hidden {
  /* cm-hidden is a utility class that overrides all other classes. */
  display:none !important;
}
.cm-layout-rtl .cm-panel-inner,
.cm-layout-rtl .cm-aboutText,
.cm-layout-rtl .cm-mapbutton,
.cm-layout-rtl .cm-footer {
  direction:rtl;
}

/* Style for a single box container. */
.cm-frame {
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  position:absolute;
  overflow:hidden;
}

/* Headings */
.cm-header h1,
.cm-panel h1,
.cm-map-title {  /* map title */
  font-size:18px;
  font-weight:normal;
  color:#d43;
  display:inline;
}
.cm-map-title-picker:hover, .cm-edit .cm-map-title:hover {
  text-decoration:underline;
}
.cm-header h1 {  /* product heading */
  font-size:16px;
}
.cm-header h2, .cm-panel h2, .cm-popup h2 {  /* dialog headings */
  font-size:16px;
  font-weight:normal;
  color:#333;
  display:inline-block;
}
.cm-panel h3, .cm-popup h3 {  /* item headings */
  font-size:14px;
  font-weight:normal;
}

/* Tables */
.cm-frame table, .cm-popup table {
  border-collapse:collapse;
}
.cm-frame tr, .cm-popup tr {
  vertical-align:baseline;
}
.cm-frame th, .cm-popup th {
  text-align:left;
}

/* Links */
.cm-popup h2 + a {
  float:right;
}
.cm-panel a, .cm-footer a, .cm-popup a, .cm-nav-list a {
  text-decoration:none;
}
.cm-panel a:link, .cm-footer a:link, .cm-popup a:link, .cm-nav-list a:link {
  color:#1155cc;
}
.cm-panel a:visited, .cm-footer a:visited, .cm-popup a:visited, .cm-nav-list a:visited {
  color:#6611cc;
}
.cm-panel a:hover, .cm-footer a:hover, .cm-popup a:hover, .cm-nav-list a:hover {
  text-decoration:underline;
}

/* Panel */
.cm-panel a {
  font-size:11px;
}
.cm-panel .cm-layer-description,
.cm-importer .cm-layer-description,
.cm-panel .cm-warning,
.cm-panel .cm-timestamp,
.cm-preview.cm-layer-description {
  font-size:11px;
  color:#999;
}

.cm-panel .cm-layer-legend-box,
.cm-preview.cm-layer-legend {
  font-size:11px;
  color:#222;
}

.cm-layer-legend-box > fieldset {
  border:1px solid #e0e0e0;
  margin:3px 0px 2px 0px;
  width:90%;
}

.cm-layer-legend-box > fieldset > legend {
  margin-left:0px;
  padding:0px;
}

/* Layout changes for collapsed panel */
.cm-panel-collapsed .cm-panel {
  width:0;
  display:none;
}
.cm-panel-float .cm-map-wrapper,
.cm-panel-collapsed .cm-map-wrapper,
.cm-panel-collapsed.cm-panel-left .cm-map-wrapper {
  margin-left:0px !important;
  margin-right:0px !important;
}
.cm-embedded.cm-panel-left .cm-map-wrapper {
  margin-left:0px !important;
  margin-right:0px !important;
}

/* Panel expand/collapse buttons */
.cm-collapse, .cm-expand {
  position:absolute;
  top:0;
  width:19px;
  height:19px;
  text-align:center;
  background:#fff;
  z-index:4;
}
.cm-collapse {
  right:0;
  border-left:1px solid #e0e0e0;
  border-bottom:1px solid #e0e0e0;
}
.cm-embedded .cm-collapse, .cm-embedded .cm-expand {
  visibility:hidden !important; /* don't show buttons in embedded mode */
}
.cm-expand {
  right:0;
  border-left:1px solid #999;
  border-bottom:1px solid #999;
  visibility:hidden; /* show expand button only when panel is collapsed */
}
.cm-panel-collapsed .cm-expand {
  visibility:visible;
}
.cm-collapse-icon, .cm-expand-icon {
  margin:3px 2px 0 0;
  width:6px;
  height:12px;
  opacity:0.7;
}
.cm-panel-left .cm-expand {
  left:0;
  border-top:none;
  border-left:none;
  border-right:1px solid #999;
}
/* TODO(arb): do we need to register that we are using these sprites? */
.cm-collapse-icon, .cm-panel-left .cm-expand-icon {
  background:url('//maps.gstatic.com/mapfiles/hpimgs28.png') -155px -26px;
}
.cm-expand-icon, .cm-panel-left .cm-collapse-icon {
  background:url('//maps.gstatic.com/mapfiles/hpimgs28.png') -132px -26px;
}
.cm-searchbox {
  width:200px;
}
/* NOTE(arb): The lack of a space in the following is on purpose! */
.cm-panel-collapsed.cm-panel-left .cm-searchbox {
  margin-left:24px;  /* move over to avoid the expand button on the left */
}

/* Floating panel */
.cm-panel-float .cm-panel {
  position:absolute;
  top:5px;
  left:5px !important;
  right:inherit !important;
  height:auto !important;
  max-height:98%;
  overflow-y:hidden;
  z-index:2;
  opacity:0.90;
  box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
}
.cm-panel-float .cm-panel-inner {
  position:static;  /* Let the panel height depend on its content. */
}
/* Make the expand button also float, and enlarge it to match the searchbox */
.cm-panel-float .cm-expand, .cm-panel-float .cm-collapse {
  padding:2px 2px 1px;
}
.cm-panel-float .cm-collapse {
  padding-top:3px;
}
.cm-panel-float .cm-expand {
  border:1px solid #999;
  padding:2px 1px 1px 3px;
  top:5px;
  left:5px;
  box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
}
.cm-panel-float.cm-panel-left .cm-searchbox {
  margin-left:320px;  /* Move the searchbox over to avoid the panel... */
}
.cm-panel-float.cm-panel-collapsed.cm-panel-left .cm-searchbox {
  margin-left:36px;  /* ...but not when the panel is collapsed... */
}
.cm-embedded .cm-searchbox {
  margin-left:5px !important;  /* ...and not in embedded mode. */
}

/* Panel contents */
.cm-panel-header {
  position:relative;
  margin:12px 0 6px;
}

/* Make the map title and description appear editable. */
.cm-edit .cm-panel-header {
  cursor:pointer;
}
.cm-map-title {
  width:260px;
}
.cm-edit .cm-map-title {
}
.cm-edit .cm-map-title:after {
  content:url('edit_pencil.png');
  vertical-align:-20%;
  opacity:.40;
  /* @alternate */ filter:alpha(opacity=40);
  /* @alternate */ filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0.4);
}
.cm-embedded .cm-map-title {
  display:inline;
  width:450px !important;
}
.cm-panel .cm-draft-indicator {
  padding:1px 2px;
  margin-right:0.3em;
  border:1px solid gray;
  font-weight:bold;
  cursor:default;
  color:#666;
  vertical-align:2px;
}
.cm-map-publisher {
  color:#999;
  font-size:11px;
  margin:0 0 6px;
}
.cm-map-description, .cm-preview.cm-map-description {
  font-size:12px;
  color:#222;
  width:260px;
}
.cm-embedded .cm-map-description {
  width:450px !important;
}
.cm-panel .cm-panel-links {
  margin:4px 0 4px 0;
}
.cm-panel .cm-map-description {
}
.cm-map-description a {
  font-size:12px;
}
.cm-panel {
  background:#fff;
  border-left:1px solid #ccc;
  float:right;
  position:relative;
  width:306px;
  height:100%;
}
.cm-panel-left .cm-panel {
  float:left;
  border-left:none;
  border-right:1px solid #ccc;
}
.cm-panel-inner {
  overflow-x:visible;
  overflow-y:hidden;
  padding:6px 0 10px 10px;
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;  /** IE 7 needs left and right set. */
}
.cm-embedded .cm-panel-inner {
  height:auto;
  top:0;
  bottom:0;
  border:1px solid #ccc;
}
.cm-embedded.cm-touch .cm-panel-inner {
  height:100%;
  top:auto;
  bottom:auto;
}
.cm-panel-outer-header {
  overflow-x:visible;
  margin-right:10px;
}
.cm-panel-scroll {
  overflow:auto;
}
.cm-panel-dock .cm-panel-scroll {
  position:absolute;
  bottom:0;
  right:0;
  left:0;
  margin-left:10px;
}
.cm-sublayers {
  position:relative;
  margin-left:20px;
}
.cm-layer-entry {
  position:relative;
  margin:10px 0 20px 2px;
}
.cm-layer-entry.cm-contains-promoted-sublayer > * > .cm-layer-entry {
  display:none;
}
.cm-layer-entry.cm-contains-promoted-sublayer > * > .cm-layer-entry.cm-promoted-sublayer {
  display:block;
}
.cm-panel .cm-layer-title {
  font-size:14px;
  line-height:16px;
}
.cm-embedded .cm-panel {
  float:none;
  position:absolute;
  width:100%;
  z-index:1;
  max-width:500px;
  opacity:0.90;
  filter:alpha(opacity=90);
  border:none;
}
.cm-panel-button,
.cm-panel .cm-close-button,
.cm-embedded .cm-panel {
  display:none;
}
.cm-embedded .cm-panel-outer-header {
  margin-top:20px;
}
.cm-panel.cm-open,
.cm-embedded .cm-panel-button,
.cm-embedded .cm-panel .cm-close-button {
  display:block;
}
.cm-panel input[type=checkbox] {
  margin-bottom:-2px;
}

/* Map */
.cm-map-wrapper {
}
.cm-panel-left .cm-map-wrapper {
  margin-right:0px;
  margin-left:252px;
}
.cm-embedded .cm-map-wrapper {
  width:auto;
  height:100%;
  margin-right:0;
}
.cm-map {
  height:100%;
  overflow:hidden;
}
.cm-map-copyright {
  font-size:10px;
  background-image:-webkit-linear-gradient(right,rgba(255,255,255,0) 0px,rgba(255,255,255,0.5) 40px,rgba(255,255,255,0.5) 140px,rgba(255,255,255,0));
  padding:4px 4px 4px 30px;
  margin-right:-50px;
}
.cm-map-copyright, .cm-map-copyright a {
  color:#444;
}

/* Popups and dialogs */
.cm-popup {
  line-height:18px;
  position:absolute;
  border:1px solid #ccc;
  padding:24px;
  z-index:1;
  background-color:white;
  min-width:240px;
  max-width:560px;
  -webkit-box-shadow:0 4px 16px rgba(0,0,0,0.2);
  -moz-box-shadow:0 4px 16px rgba(0,0,0,0.2);
  -ms-box-shadow:0 4px 16px rgba(0,0,0,0.2);
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
}
.cm-popup h2:first-child {
  margin-top:0;
}
.cm-popup > :first-child {
  margin-top:0;
}
.cm-popup > :last-child {
  margin-bottom:0;
}
.cm-close-button {
  background:url('x.png') no-repeat center center;
  position:absolute;
  top:0;
  right:0;
  margin:12px;
  opacity:0.7;
  filter:alpha(opacity=70);
  cursor:pointer;
  height:21px;
  width:21px;
}
.cm-layout-rtl .cm-close-button {
  right:auto;
  left:0;
}

/* Diff popup */
.cm-popup.cm-diff {
  max-width:90%;
  max-height:90%;
  word-break:break-all;
  overflow:auto;
}

/* Share popup */
.cm-share label {
  display:inline-block;
  padding-bottom:4px;
}
.cm-layout-rtl .cm-share {
  text-align:right;
}
.cm-share .cm-shorten {
  margin:0.5em 0;
}
.cm-share .cm-shorten-checkbox {
  margin-bottom:-1px;
}
.cm-share ul li {
  margin-bottom:16px;
}
.cm-share li {
  line-height:17px;
}
.cm-share ul {
  list-style:none;
  padding:0;
  margin:0;
}
.cm-share input[type=text] {
  width:100%;
  height:29px;
  line-height:27px;
  padding-left:4px;
  color:#333;
  font-size:13px;
  font-family:arial,sans-serif;
  border:1px solid #d9d9d9;
  border-top:1px solid silver;
  display:inline-block;
  vertical-align:top;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.cm-social a {
  margin-right:10px;
}
.cm-social img, .cm-social iframe {
  vertical-align:middle;
}
/* we need this selector to be more specific than .cm-social a rule above */
a.cm-gplus-share-button {
  height:32px;
  width:32px;
  margin-right:25px;
}
.cm-gplus-img {
  background:url('https://ssl.gstatic.com/images/icons/gplus-32.png') no-repeat center center;
  vertical-align:middle;
  height:32px;
  width:32px;
  display:inline-block;
}
.cm-facebook-like-button {
   border:none;
   overflow:hidden;
   width:90px;
   height:20px;
}
.cm-twitter-share-button {
  width:60px;
  height:20px;
  margin-right:25px;
  border:none;
  overflow:hidden;
}
.cm-twitter-img {
  background:url('tweetbutton.png') no-repeat;
  display:inline-block;
}
div.cm-social {
  text-align:left;
  width:280px;
  height:32px;
}

/* "Enter an address" autocomplete box */
.cm-mapbutton input {
  font-family:Arial,sans-serif;
  font-size:14px;
  border:0;
  width:250px;
}

/* Language selector */
.cm-langSpan {
  padding:0 0 5px 5px;
}
.cm-flagSpan {
  margin-right:3px;
}
span.cm-g-flag {
  vertical-align:middle;
  zoom:.70;
  -moz-transform:scale(.70);
}

/* Footer */
.cm-footer {
  text-align:center;
  padding:6px;
  background-color:white;
  border-top:1px solid #ccc;
  color:#666;
  font-size:12px;
}
.cm-embedded .cm-footer {
  padding:4px 6px;
  text-align:left;
  font-size:11px;
}
.cm-html-editor .cm-preview.cm-footer {
  padding:6px;
  min-height:0;
}
.cm-language-picker-icon {
  display: inline-block;
  height: 15px;
  width: 15px;
  margin: 0 5px;
  vertical-align: text-top;
  background-image: url('language_picker.png');
}


/* Standard Google checkbox styles */
input[type=checkbox] {
  -webkit-appearance:none;
  width:15px;
  height:15px;
  border:1px solid #DCDCDC;
  margin:0 3px -1px 0;
  border-radius:1px;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
  cursor:pointer;
  position:relative;
  overflow:visible;
}
input[type=checkbox]:active {
  border-color:#C6C6C6;
  background:#ebebeb;
}
input[type=checkbox]:hover {
  border-color:#c6c6c6;
  -webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.1);
  -moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.1);
  box-shadow:inset 0px 1px 1px rgba(0,0,0,0.1);
}
input[type=checkbox]:checked::after {
  content:url('check_no_box.png');
  display:block;
  position:absolute;
  top:-6px;
  left:-5px;
}

/* Folder checkboxes */
.cm-checkbox-container {
  width:20px;
  display:inline-block;
  vertical-align:top;
}
.cm-checkbox-folder-decoration {
  background:url('folder_border.png') no-repeat;
  height:13px;
  margin:-18px 0 0 -2px;
}

/* About popup */
#cm-aboutText {
 display:none;
}

/* Menu for single-select layers */
.cm-single-select-button {
  width:11px;
  height:11px;
  display:inline-block;
  background:url('//maps.gstatic.com/mapfiles/hpimgs28.png') -123px 4px;
  border:1px solid #c6c6c6;
  border-radius:1px;
  float:right;
  padding-right:5px;
  opacity:0.5;
}
.cm-single-select-button.open {
  width:auto
}
.cm-sublayer-select {
  margin-top:4px;
  margin-left:-2px;
  margin-bottom:2px;
}
.cm-sublayer-picker {
  background:#fff;
  border:1px solid #c6c6c6;
  padding:0 0 6px;
  box-shadow:0 2px 4px rgba(0,0,0,0.2);
  -webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);
  -moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);
  position:relative;
  top:11px;
  display:none;
  z-index:1;
  width:auto;
  margin-right:5%;
  float:right;
}
.cm-sublayer-picker ul {
  list-style:none;
  padding:0;
  margin:0;
  width:auto;
}
.cm-sublayer-picker li {
  font-weight:normal;
  display:block;
  float:none;
  padding:5px 25px;
  color:#333;
  white-space:nowrap;
}
.cm-sublayer-picker li.selected {
  background:url('check_no_box.png') no-repeat left center;
}
.cm-sublayer-picker li:hover, #sublayer-picker li.selected {
  color:#222;
}
.cm-sublayer-picker li:hover {
  background-color:#f1f1f1;
}

/* Dropdown menu of available maps (cm.MapPicker) */
.cm-map-picker {
  padding:0;
  margin:0;
  list-style:none;
  min-width:40px;  /* override min-width:240px on cm-popup */
  z-index:1;
}
.cm-map-picker li a, .cm-map-picker li a:visited, .cm-map-picker li a:link {
  display:block;
  padding:6px 16px 6px 28px;
  color:#333;
  white-space:nowrap;
  text-decoration:none;
}
.cm-map-picker li.cm-selected {
  background:url('check_no_box.png') no-repeat left center;
}
.cm-map-picker li:hover {
  background-color:#f1f1f1;
}
.cm-map-picker-button { 
  width:11px;
  height:11px;
  border:1px solid #c6c6c6;
  border-radius:1px;
  display:inline-block;
  background:url('//maps.gstatic.com/mapfiles/hpimgs28.png') -123px 4px;
  position:absolute;
  top:6px;
  right:0;
  opacity:0.5;
}
.cm-map-picker-button:hover {
  opacity:1;
}
.cm-embedded .cm-map-picker-button {
  right:36px;
}

/* Login */
.cm-panel div.cm-login {
  z-index:1;
  position:absolute;
  top:3px;
  right:6px;
  font-size:12px;
}
.cm-panel div.cm-login a {
  font-size:12px;
}
.cm-panel div.cm-login .user {
  font-weight:bold;
}

/* Opacity slider */
.cm-layer-entry .goog-slider-horizontal {
  position:relative;
  margin:6px -1px;
  background:#ddd;
  border-radius:3px;
  width:100%;
  height:7px;
  outline:none;
}
.cm-layer-entry .goog-slider-thumb {
  position:absolute;
  top:-5px;
  background:#fff;
  width:17px;
  height:17px;
  border-radius:50%;
}
.cm-slider-circle {
  position:relative;
  top:1px;
  left:1px;
  background:#fff;
  width:13px;
  border:1px solid #aaa;
  height:13px;
  border-radius:50%;
}
.cm-layer-entry .cm-slider-circle:hover {
  border:1px solid #666;
}
.cm-slider-dot {
  position:relative;
  top:3px;
  left:3px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#000;
}

/* Toolbar */
.cm-toolbar {
  font-size:11px;
}
.cm-toolbar a {
  white-space:nowrap;
}
.cm-toolbar a.cm-disabled,
.cm-toolbar a.cm-disabled:hover {
  color:#888;
  text-decoration:none;
  cursor:default;
}
.cm-toolbar a.cm-error {
  color:#d43;
}

/* Importer dialog */
.cm-importer {
  width:375px;
  max-width:375px;
}
.cm-importer-header {
  margin-bottom:8px;
}
.cm-importer h2 {
  margin-top:0;
  margin-bottom:4px;
}
.cm-importer-list {
  border:1px grey inset;
  overflow:auto;
  position:relative;
}
.cm-layer-item {
  position:relative;
  border-bottom:1px solid #ebebeb;
  width:100%;
  display:table;
  cursor:pointer;
}
.cm-layer-item.cm-layer-selected {
  background:#ffc !important;
}
.cm-importer .cm-map-title {
  position:relative;
  display:inline-block;
  width:100%;
  padding:32px 0 4px 0;
  border-bottom:1px solid #ebebeb;
}
.cm-importer .cm-map-title:first-child {
  padding-top:8px;
}
.cm-importer .cm-map-title > span {
  padding-left:6px;
}
.cm-importer .cm-layer-title {
  display:inline-block;
  padding:9px 0 9px 14px; /* padding-left to match triangle width */
}
.cm-importer .cm-triangle {
  position:absolute;
  width:14px;
  height:14px;
  background:url('triangle_right.png') no-repeat -4px -2px;
  background-size:21px;
  cursor:pointer;
  margin-top:8px;
}
.cm-importer .cm-triangle.cm-expanded {
  background-image:url('triangle_down.png') !important;
}
.cm-my-location-button {
  opacity:0.8;
  width:27px;
  height:27px;
  padding:3px !important;
  background-image:url('my_location_160dpi.png') !important;
  background-size:32px 32px !important;
  background-repeat:no-repeat !important;
}
.cm-my-location-button-pad {
  width:24px;
  height:24px;
}
.cm-my-location-button:hover {
  opacity:1.0 !important;
  background-color:white !important;
}
/* Support for high density screens. */
@media screen and (-webkit-min-device-pixel-ratio:2) {
  .cm-importer .cm-triangle {
    background-image:url('triangle_right_2x.png') !important;
  }
  .cm-importer .cm-triangle.cm-expanded {
    background-image:url('triangle_down_2x.png') !important;
  }
  .cm-my-location-button {
    background-image:url('my_location_240dpi.png') !important;
  }
}
div.cm-layer-selected + div div.cm-layer-item,
div.cm-layer-selected + div div.cm-layer-item:hover {
  /* sets light background on children of a selected folder */
  background-color:#ffffec;
}
.cm-preview-link {
  display:inline-block;
  cursor:pointer;
  position:absolute;
}
a.cm-preview-link {
  width:10px;
  height:10px;
  background:url('external_link.png') no-repeat top left;
  background-size:10px;
  bottom:10px;
  right:12px;
}
div.cm-preview-link {
  width:16px;
  height:16px;
  background:url('preview.png') no-repeat top left;
  background-size:13px;
  margin-bottom:-1px;
  top:10px;
  right:10px;
  display:none;
}
.cm-layer-item:hover div.cm-preview-link {
  display:inherit;
  filter:alpha(opacity=55);
  opacity:0.55;
}
.cm-layer-item:hover div.cm-preview-link.cm-no-preview,
div.cm-preview-link.cm-no-preview:hover {
  filter:alpha(opacity=20)!important;
  opacity:0.2!important;
  cursor:auto;
}
div.cm-preview-link:hover, div.cm-preview-link.cm-preview-active {
  display:inherit;
  filter:alpha(opacity=100)!important;
  opacity:1.0!important;
}
/* Support for high density screens. */
@media screen and (-webkit-min-device-pixel-ratio:2) {
  a.cm-preview-link {
    background-image:url('external_link_2x.png') !important;
  }
  div.cm-preview-link {
    background-image:url('preview_2x.png') !important;
  }
}
.cm-popup.cm-layer-preview {
  padding:0;
  min-width:inherit;
  max-width:inherit;
  border-color:white;
}
.cm-layer-preview .cm-close-button {
  padding:0;
}
.cm-layer-preview iframe {
  border:none;
  margin-bottom:-3px;
}
.cm-selected-count {
  margin-top:12px;
  margin-left:4px;
}
.cm-importer .cm-button-area {
  margin-top:11px !important;
}

/* Tooltips */
.cm-tooltip {
  position:absolute;
  background:#feffcd;
  border:1px gray solid;
  padding:0 2px 0 2px;
  z-index:1;
}

/* Map inspector, Layer inspector, and Collaborate dialog */
.cm-editors {
  width:100%;
}
.cm-editors > tr > th, .cm-editors > tr > td {
  padding-top:8px;
}
.cm-editors > tr > th {
  padding-right:24px;
  font-weight:normal;
  color:#666;
  white-space:nowrap;
  width:1%;
  position:relative;
}
.cm-editors > .cm-text-input-row > th,
.cm-editors > .cm-text-editor > th {
  vertical-align:top;
  padding-top:12px;  /* align label with content of text input field */
}
.cm-editors > .cm-text-input-row input[type="text"],
.cm-editors > .cm-text-editor input[type="text"] {
  width:100%;
}
.cm-editors > .cm-textarea-row > th,
.cm-editors > .cm-html-editor > th {
  vertical-align:top;
  padding-top:11px;  /* align label with first line of text in textarea */
}
.cm-editors > .cm-textarea-row textarea,
.cm-editors > .cm-html-editor textarea {
  width:100%;
  height:6em;
  font-family:arial;
  font-size:13px;
  padding:3px 2px;
  border:1px solid #c0c0c0;
}
.cm-help-icon {
  display:inline-block;
  cursor:pointer;
  position:absolute;
  right:6px;
}
div.cm-help-icon {
  width:15px;
  height:15px;
  background:url('question.gif') no-repeat 0 1px;
  background-size:14px;
  display:none;
}
.cm-editors tr:hover th div.cm-help-icon {
  display:inline-block;
}
.cm-editors-tooltip {
  max-width:380px;
  background:#feffcd;
  border:1px solid #ccc;
  -webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);
  box-shadow:0 2px 4px rgba(0,0,0,0.2);
  padding:2px 4px;
  z-index:2;
}

/* Legend editor */
tr.cm-legend-editor {
  vertical-align:top !important;
}
div.cm-legend-items {
  max-height:95px;
  overflow:auto;
}
.cm-legend-item {
  width:100%;
  display:table-row;
}
.cm-legend-item > * {
  display:table-cell;
  vertical-align:top;
}
.cm-legend-graphic {
  display:inline-block;
  width:11px;
  height:11px;
  margin:2px 7px 2px 2px;
  float:left;
}
.cm-legend-editor .cm-legend-graphic {
  margin-top:3px;
}
.cm-legend-graphic.cm-legend-icon {
  width:15px;
  height:15px;
  margin:0 5px 0 0;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}
.cm-legend-graphic.cm-legend-line > * {
  height:5px;
  border-bottom:2px solid;
}
.goog-palette .cm-legend-graphic.cm-legend-polygon,
.cm-legend-editor .cm-legend-graphic.cm-legend-polygon {
  border:1px solid;
  width:11px;
  height:11px;
}
.cm-layer-legend .cm-legend-graphic.cm-legend-polygon {
  border:1px solid;
  width:10px;
  height:10px;
  margin:1px 7px 2px 1px;
}
.cm-legend-editor .cm-legend-graphic {
  cursor:pointer;
}
.cm-legend-text {
  display:inline-block;
  margin-top:1px;
}
.cm-legend-editor .cm-legend-text {
  width:100%;
  cursor:pointer;
  padding:1px 0 0 2px;
  margin:0 0 3px -2px;
  font-size:12px;
  word-break:break-all;
}
.cm-legend-editor .cm-legend-text:last-child {
  margin-bottom:6px;
}
textarea.cm-legend-text {
  position:absolute;
  top:0;
  left:0;
  font-family:arial;
  border:none;
  cursor:auto !important;
}
.cm-legend-text.cm-empty {
  font-style:italic;
  color:#999;
}
.goog-palette-table {
  border:none !important;
  margin:0 !important;
  border-collapse:separate !important;
  border-spacing:1px;
}
.goog-palette-cell {
  padding-top:inherit !important;
  border:none !important;
}
.goog-palette-cell-hover {
  border:1px solid black;
}
.cm-legend-editor .cm-close-button {
  display:inline-block;
  position:static;
  padding:0;
  height:11px;
  width:11px;
  margin:0 6px 0 10px;
}

/* WMS layer editor */
/* TODO(romano): Improve UI of WMS layer editor. */
.cm-editors > .cm-wms-menu-editor select {
  width:100%;
  font-size:13px;
  font-family:arial;
}
.cm-editors > .cm-wms-menu-editor > th {
  vertical-align:top;
  padding-top:11px;  /* align label with first line of text in the multiselect menu */
}

/* Editors */
.cm-html-editor .cm-disclosure {
  margin:4px 0 0;
}
.cm-html-editor .cm-disclosure .cm-triangle {
  display:inline-block;
  width:9px;
  color:#666;
  margin-right:2px;
  font-size:9px;
  cursor:default;
}
.cm-html-editor .cm-disclosure .cm-label {
  color:#666;
  font-size:12px;
  cursor:default;
}
.cm-html-editor .cm-disclosure:hover .cm-triangle {
  color:#000;
}
.cm-html-editor .cm-preview {
  width:100%;
  max-width:391px;  /* total outside width 400px */
  min-height:2em;
  max-height:8em;
  overflow:auto;
  border-left:1px solid #c0c0c0;
  padding:0 4px;
  margin-top:2px;
}
.cm-html-editor .cm-validation-error {
  display:inline;
}

.cm-number-editor input {
  width:4em;
}
.cm-number-editor .cm-validation-error {
  display:inline;
  margin-left:0.5em;
}

.cm-lat-lon-box-editor table.cm-extents {
  width:12em;
  float:left;
  margin-right:1em;
}
.cm-lat-lon-box-editor table.cm-extents tr:first-child td {
  padding-top:0;  /* outer cell already has 8px padding-top, don't double up */
}
.cm-lat-lon-box-editor table.cm-extents td {
  text-align:center;
  white-space:nowrap;
}
.cm-lat-lon-box-editor table.cm-extents input {
  width:5.5em;
}
.cm-lat-lon-box-editor .cm-west {
  padding-right:1.5em;
}
.cm-lat-lon-box-editor .cm-copy-viewport {
  padding:4px 0 6px;
}
.cm-lat-lon-box-editor .cm-copy-viewport input {
  margin-right:4px;
}
.cm-lat-lon-box-editor .cm-box-size-label {
  font-size:11px;
}
.cm-lat-lon-box-editor .cm-viewport-info {
  font-size:11px;
  line-height:12px;
  display:inline-block;
  color:#d43;
  margin-top:6px;
}
.cm-validation-error {
  display:block;
  font-size:11px;
  color:#d43;
}

/* Collaborate dialog */
.cm-share-emailer {
  width:400px;
}
.cm-share-emailer label + input {
  margin-left:12px;
}
.cm-email-error {
  color:#d43;
}

/* Standard Google button styles */
.cm-popup .cm-button-area {
  margin:24px 0 0;
}
.cm-button-area .cm-button {
  margin-right:14px;
}
.cm-button, .cm-body .cm-button {
  display:inline-block;
  min-width:72px;
  height:29px;
  line-height:27px;
  /* @alternate */ border:1px;
  font-size:11px;
  font-family:arial,sans-serif;
  font-weight:bold;
  border-radius:2px;
  /* @alternate */ border:1px solid #505050;
  text-align:center;
  padding:0 8px;
  /* @alternate */ border:1px solid rgba(0,0,0,0.1);
  color:#444;
  background:#f5f5f5;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1);
  /* @alternate */ background-image:linear-gradient(top,#f5f5f5,#f1f1f1);
}
.cm-button:hover {
  border:1px solid #c6c6c6;
  color:#222;
  background:#f8f8f8;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#f8f8f8,#f1f1f1);
  /* @alternate */ background-image:linear-gradient(top,#f8f8f8,#f1f1f1);
  -webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.1);
  box-shadow:0px 1px 1px rgba(0,0,0,0.1);
}
.cm-button:active {
  background:#f6f6f6;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#f6f6f6,#f1f1f1);
  /* @alternate */ background-image:linear-gradient(top,#f6f6f6,#f1f1f1);
  -webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);
  box-shadow:inset 0px 1px 2px rgba(0,0,0,0.1);
}
.cm-button.cm-submit {
  border:1px solid #3079ed;
  color:#fff;
  background:#4d90fe;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#4d90fe,#4787ed);
  /* @alternate */ background-image:linear-gradient(top,#4d90fe,#4787ed);
}
.cm-button.cm-submit:hover {
  border:1px solid #2f5bb7;
  color:#fff;
  background:#357ae8;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8);
  /* @alternate */ background-image:linear-gradient(top,#4d90fe,#357ae8);
  -webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.1);
  box-shadow:0px 1px 1px rgba(0,0,0,0.1);
}
.cm-button.cm-submit:active {
  -webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);
  box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);
}
.cm-button.cm-submit[disabled] {
  background:#4d90fe;
  filter:alpha(opacity=50);
  opacity:0.5;
}
.cm-button.cm-create, .cm-button.cm-wipe {
  border:1px solid transparent;
  color:#fff;
  background:#d14836;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#dd4b39,#d14836);
  /* @alternate */ background-image:linear-gradient(top,#dd4b39,#d14836);
  text-transform:uppercase;
}
.cm-button.cm-create:hover, .cm-button.cm-wipe:hover {
  border:1px solid #b0281a;
  border-bottom-color:#af301f;
  color:#fff;
  background:#c53727;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#dd4b39,#c53727);
  /* @alternate */ background-image:linear-gradient(top,#dd4b39,#c53727);
  -webkit-box-shadow:0px 1px 1px rgba(0,0,0,0.2);
  box-shadow:0px 1px 1px rgba(0,0,0,0.2);
}
.cm-button.cm-create:active, .cm-button.cm-wipe:active {
  border:1px solid #992a1b;
  background:#b0281a;
  /* @alternate */ background-image:-webkit-linear-gradient(top,#dd4b39,#b0281a);
  /* @alternate */ background-image:linear-gradient(top,#dd4b39,#b0281a);
  -webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);
  box-shadow:inset 0px 1px 2px rgba(0,0,0,0.3);
}

/* Build info */
.cm-build-info {
  cursor:default;
  position:absolute;
  font-size:10px;
  color:#fff;
  right:0;
  bottom:0;
  padding:2px 3px;
  z-index:1;
  opacity:0;  /* developers have to know where to look for it */
}

.cm-build-info:hover {
  color:#888;
  background:#eee;
  opacity:1;
}

/* Mouse lat/lng coordinates */
.cm-lat-lng {
  position:absolute;
  font-size:12px;
  width:400px;
  left:0;
  bottom:0;
  padding:2px 6px;
  z-index:1
}

/* Arranger panel with draggable elements */
.cm-arranger {
  opacity:1.0 !important;
  cursor:move;
}
.cm-arranger .cm-button-area {
  margin:21px 0 5px 20px;
}
.cm-panel-float > .cm-arranger {
  height:inherit !important;
}
.cm-arranger-inner {
  padding:10px 20px 10px 20px;
  position:absolute;
  overflow-y:auto;
  left:0;
  right:0;
  bottom:0;
  top:54px;
}
.cm-draggable-layer {
  cursor:move;
  margin:0px 2px 0px 0px;
}
.cm-draggable-layer-title {
  display:inline-block;
  line-height:36px;
  background-position-y:46%;
  padding-left:18px;
  white-space:nowrap;
}
.cm-draggable-layer-bg {
  background:url('icon_check.png') no-repeat left !important;
}
.cm-draggable-folder-bg {
  background:url('icon_folder.png') no-repeat left !important;
}
.cm-active-draggable-layer {
  border:1px dotted #e0e0e0;
  margin-top:-1px;
  margin-left:-9px;
  padding-left:8px;
  color:#e0e0e0;
}
.cm-draggable-sublayer-container {
  margin-left:20px;
}
.cm-dragged-clone {
  margin:0px 0px 0px 0px;
  padding-right:18px;
  position:absolute;
  background-color:#ccc;
  z-index:1;
  opacity:0.4;
  white-space:nowrap;
}
.cm-drop-target-line {
  height:2px;
  margin-bottom:-2px;
  background-color:#000000;
  text-align:center;
  width:100px;
  white-space:nowrap;
}

/* Navigation links */
.cm-nav-list {
  background-color: white;
  border-right: 1px solid #ccc;
  bottom: 25px;
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  color: #222;
  font-size: 13px;
  list-style-type: none;
  margin: 0;
  opacity: 0.9;
  padding: 10px 20px;
  position: absolute;
  width: 266px; /* + padding & border = 307px, to match .cm-panel's width */
  z-index: 2;
}

.cm-panel-right .cm-nav-list {
  right: 312px;
}

/* If the panel is docked on the right, and is currently collapsed or embedded,
   move the navigation view to the right side of the viewport. */
.cm-panel-right.cm-embedded .cm-nav-list,
.cm-panel-right.cm-panel-collapsed .cm-nav-list {
    right: 5px;
}

.cm-panel-left.cm-panel-dock .cm-nav-list {
  left: 312px;
}

.cm-panel-left.cm-panel-dock .cm-nav-list.cm-above-attribution {
  bottom: 25px;
}

.cm-panel-left.cm-embedded .cm-nav-list,
.cm-panel-left.cm-panel-collapsed .cm-nav-list,
.cm-panel-left.cm-panel-float .cm-nav-list {
  left: 5px;
}

.cm-nav-item {
  display: inline;
  margin: 0;
  padding: 0;
}

.cm-nav-item.cm-nav-item-undelimited {
  margin-left: 10px;
}

.cm-nav-compact .cm-nav-item {
  display: block;
}

.cm-nav-item.cm-nav-item-undelimited:first-child {
  margin-left: 0;
}

.cm-nav-compact {
  font-size: 11px;
  padding: 4px 8px;
  width: 220px;
}

.cm-nav-list.cm-nav-compact {
  display: block;
  width: 120px;
}

.cm-nav-compact .cm-nav-item.cm-nav-item-undelimited {
  margin-left: 0;
}

.cm-nav-item.cm-nav-item-undelimited .cm-nav-item-separator,
.cm-nav-compact .cm-nav-item .cm-nav-item-separator {
  display: none;
}

/* Indent word-wrapped lines of link text, if any. */
.cm-nav-compact .cm-nav-item a {
  display: block;
  padding-left: 10px;
  text-indent: -10px;
}

/* Render the logo in the bottom left corner of the visible map. */
.cm-logo-watermark {
  bottom: 5px;
  left: 35px;
  position: absolute;
  z-index: 1;
}

/* If the panel is docked on the left, place the logo to the right of the
   panel, in the bottom left corner of the visible map. */
.cm-panel-left .cm-logo-watermark {
  left: 312px;
}


/* If the panel is docked on the left and is currently embedded, collapsed,
   or floating, move the logo view to the left side of the viewport. */
.cm-panel-left.cm-embedded .cm-logo-watermark,
.cm-panel-left.cm-panel-collapsed .cm-logo-watermark,
.cm-panel-left.cm-panel-float .cm-logo-watermark {
  left: 5px;
}
/* Copyright 2012 Google Inc.  All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License.  You may obtain a copy
of the License at: http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distrib-
uted under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied.  See the License for
specific language governing permissions and limitations under the License. */

/**
 * CSS for maps style buttons. From
 * http://code.google.com/p/gmaps-samples-v3/source/browse/trunk/controls/
 */
.cm-mapbutton {
  margin:5px;
  cursor:pointer;
  font-family:Arial,sans-serif;
  font-size:13px;
  overflow:hidden;
  text-align:center;
  border:1px solid #717B87;
  background:white;
  color:#333;
  padding:1px 7px;
  box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.4);
  -webkit-user-select:none;
  -moz-user-select:none;
}

.cm-mapbutton.cm-selected {
  padding:1px 6px;
  font-weight:bold;
  color:#000;
}

.cm-mapbutton:hover {
  /* @alternate */ background:#E6E6E6;
  /* @alternate */ background:-moz-linear-gradient(top, #FFF 0%, #E6E6E6 100%);
  /* @alternate */ background:-webkit-gradient(linear, left top, left bottom, from(#FFF), to(#E6E6E6));
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#E6E6E6',GradientType=0);
}

.cm-touch .cm-mapbutton {
  font-size:14px;
  line-height:221%;
  padding:1.38px 9.67px;
}

.cm-touch .cm-mapbutton.cm-selected {
  padding:1.38px 8.28px;
}
