/**
 * Google Places Map CPT Styles
 */

#google-map-wrap {
  position: relative;
  border: 1px solid #DDD;
}

.clear:before,
.clear:after {
  content: " ";
  display: table;
}

.clear:after {
  clear: both;
}

.hover-transition, .marker-icon-row .icon, .marker-row .marker-item {
  -webkit-transition: 0.2s all linear;
  -moz-transition: 0.2s all linear;
  -o-transition: 0.2s all linear;
  transition: 0.2s all linear;
}

.box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.cmb2-id-gmb-theme-json, .gmb-hidden {
  display: none;
}

.marker-info-wrapper {
  background-color: #F1F1F1;
  margin: 8px 0 4px;
  padding: 12px 12px 12px 12px;
  font-size: 13px;
  > div {
	margin: 0 0 5px;
	padding: 0;
  }
  > div.rating-wrap {
	margin: 0;
	padding: 0;
  }
}

.repeatable-grouping {
  .cmb-nested-table td {
	padding-top: 3px;
	pre textarea {
	  height: 50px;
	}
  }
  .cmb-nested-table td pre {
	margin: 0;
  }
}

.new-window {
  background: url('../img/new-window-icon.png') no-repeat right 3px transparent;
  padding-right: 16px;
}

.mfp-content .marker-icon-modal {
  display: block;
}

/*Shortcode Input */

.shortcode-wrap {
  margin: 1px 14px 12px 11px;
  label {
	margin: 0 0 3px;
	display: block;
	cursor: default;
  }

  .shortcode-input {
	margin: 0;
	width: 100%;
  }
}

/*------------------------------------------
 Messages
--------------------------------------------*/
.wpgp-message {
  background-color: #FFF;
  border-left: 4px solid #7AD03A;
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.15);
  box-shadow: 1px 1px 1px 1px rgba(0, 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;
  p {
	float: left;
  }
  .button {
	float: right;
	margin-top: 5px;
  }
}

#google-map-wrap .wpgp-message {
  margin-top: 20px;
}

/*------------------------------------------
 Google Map Metabox
--------------------------------------------*/
#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') no-repeat center right transparent;
  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;
}

/*------------------------------------------
 General Styles
--------------------------------------------*/
.cmb2-id-gmb-search-radius, .cmb2-id-gmb-places-search-multicheckbox, .cmb2-id-gmb-places-search, .places-search-wrap, #google_maps_details_options tr {
  display: none;
}

#google_maps_details_options tr.cmb2-id-gmb-show-poi {
  display: table-row;
}

.width_unit_label, .width_radio, .map-width, .map-height, .size-label {
  float: left !important;
}

.inner-sidebar table.cmb_metabox label.size-label, #side-sortables table.cmb_metabox label.size-label, label.size-label {
  font-weight: normal;
  font-style: italic;
}

#poststuff h2.cmb-group-name, #side-sortables h2.cmb-group-name {
  @include modal-label;

  + .cmb2-metabox-description {
	padding-top: 0 !important;
  }

}

/*------------------------------------------
 Place Markers
--------------------------------------------*/
#infobubble-content {
  padding: 0 0 0 0;
  margin: 3px -20px 0 0;
  min-width: 314px;
  min-height: 80px;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  cursor: default;

  p {
	font-size: 12px;
	margin: 0 0 7px;
	color: #2C2C2C;
  }
  .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;
  }
  .place-description {
	white-space: normal;
  }
  a {
	box-shadow: none;
  }
}

.marker-confirm-place {
  margin: 0 8px 4px 0;
  display: inline-block;
  &:hover {
	cursor: pointer;
  }
}

/* Hacky fix to prevent scrollbars */
#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') no-repeat center center #FFF;
}

#google-map-wrap div#infobubble-content > div {
  white-space: normal;
}


/* Ratings */
#infobubble-content {
  .rating-wrap {
	overflow: hidden;
  }
  .numeric-rating {
	font-size: 16px;
	color: #DD4B39;
	font-weight: 400;
	float: left;
	margin: 0 5px 0 0;
  }
  .star-rating-wrap {
	background: url('../img/review_stars.png') no-repeat 0 0 transparent;
	height: 13px;
	width: 67px;
	float: left;
	margin: 4px 0 0;
  }
  .star-rating-size {
	background: url('../img/review_stars.png') no-repeat 0 -13px transparent;
	height: 13px;
  }
}

/*------------------------------------------
 Editable Marker
--------------------------------------------*/

#edit-toolbar {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: right;
  > li {
	margin: 0 4px;
	cursor: pointer;
	display: inline-block;
	content: '';
	height: 21px;
	width: 21px;
	opacity: .5;
	background: url('../img/icons-infowindow-002.svg');
	&:hover {
	  opacity: .75;
	}

	&.trash-marker {
	  background-position: -42px 0;
	}

	&.edit-info {
	  background: url('../img/icons-app-000.svg');
	  background-position: 21px 21px;
	}

  }

}

/*------------------------------------------
Display Options
--------------------------------------------*/

#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;

  > span, > input {
	float: left;
  }
  > span {
	margin: 8px 5px 0 0;
	width: 80px;
	font-style: italic;
  }
}

.lng-wrap {
  margin-bottom: 0;
}

/* Mini message */
.lat-lng-change-message {
  float: left;
  clear: both;
  margin: 10px 0 0;
  width: 100%;
  > p {
	float: left;
  }
}

.lat-lng-update-btn {
  float: right;
  margin: 7px 0 0 !important;
}

.cmb2-id-gmb-theme-json {
  display: none;
}

#cmb2-metabox-google_maps_options a.custom-snazzy-toggle {
  margin-top: 6px;
}

/*-------------------------------------
Save Info Window Toolbar
---------------------------------------*/
#save-toolbar {
  margin: 0;
  padding: 0;
  float: left;
  > li {
	display: inline-block;
	margin: 0;
	padding: 0;
	&:first-child {
	  margin: 0 5px 0 0;
	}
	.google-btn {
	  width: 75px;
	}
	.marker-edit-link {
	  opacity: 0.75;
	}
  }
}

a.marker-edit-link {
  background: url('../img/marker-btn.png') no-repeat 0 0 transparent;
  width: 20px;
  height: 20px;
  opacity: 0.5;
  margin: 4px 0 0;
  display: block;
  float: right;
}

#infobubble-content {
  .edit-place-title {
	width: 290px;
	margin: 0 0 10px;
  }

  .edit-place-description {
	display: block;
	font-size: 12px;
	width: 100%;
	min-height: 100px;
  }
}

/*-------------------------------------
Map Edit Quick Toolbar
---------------------------------------*/
#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: 582px;

  #title {
	padding: 3px;
  }

  .drop-marker{
    width: 105px;
    .dashicons {
      margin: 5px 0 0;
    }
  }



  button {
	margin: 0 2px;
	.dashicons {
	  font-size: 12px;
	  width: 12px;
	  margin: 5px 2px 0 -2px;
	}
	&.edit-title {
	  display: none; //only show in modal
	}
  }

  //Lat Lng Update
  .live-lat-lng-wrap {
	border: 1px solid #DDD;
	padding: 0;
	margin: 0 2px;
	display: inline-block;
	width: 255px;
	background-color: #FAFAFA;
	height: 24px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);

	.live-latitude-wrap, .live-longitude-wrap {
	  float: left;
	  margin-left: 6px;

	  span {
		line-height: 22px;
		float: left;
	  }
	}

	.live-longitude, .live-latitude {
	  font-size: 11px;
	  margin: 0;
	  padding: 0;
	  width: 60px;
	  white-space: nowrap;
	  overflow: hidden;
	}
	.live-longitude-label, .live-latitude-label {
	  font-size: 10px;
	  color: #AAA;
	  font-style: italic;
	  display: block;
	  padding: 0 2px 0 0;
	}

	button {
	  float: left;
	  margin: -2px 0 -2px -2px;
	  border-radius: 0;
	  height: 26px;
	  box-shadow: none;
	  &:hover {
		box-shadow: none;
		border-color: #cccccc;
	  }

	}

  }

}

//Hide on super small resolutions
@media(max-width: 900px) {
  #map-toolbar {
	display: none;
  }
}

/*-------------------------------------
Modal styles
---------------------------------------*/
.map-autocomplete-wrap,
.map-title-wrap {
  label {
	@include modal-label;
	margin-bottom: 0;
  }
  input {
	width: 100%;
  }
  p.cmb2-metabox-description {
	padding: 8px 0;
  }
}

.map-autocomplete-wrap label {
  position: relative;
  &:after {
	content: ' ';
	position: absolute;
	bottom: 0;
	left: 120px;
	background: url('../img/powered-by-google-on-white.png') no-repeat 0 0 transparent;
	width: 104px;
	height: 16px;
  }
}

/*-------------------------------------
Google Style Buttons
---------------------------------------*/
.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;
  &: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;
  }
  &:active, &:focus {
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
	box-shadow: inset 0 1px 2px rgba(0, 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, 0.1);

  &: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;
  }

  &:active {
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	background: #F8F8F8;
	color: #111;
  }
}

/*-------------------------------------
Google API Errors
---------------------------------------*/

input#_gmb_mashup_autocomplete[placeholder*="Oops!"], input#gmb_geocoder[placeholder*="Oops!"] {
  background-repeat: no-repeat;
  background-size: contain;
  padding-left: 35px;
}

/*-------------------------------------
Temporary Info Window
---------------------------------------*/

.infowindow-toolbar {
  display: block;
  margin: 0;
  padding: 8px 0 0;
}

.add-marker {
  text-decoration: none;
}