/**
 * CSS Classes Definitions
 *
 * .mw-kartographer-container:
 *     Contains either a framed or frameless .mw-kartographer-map.
 *     When framed this class is at the .thumb level.
 *     When frameless this class is at the a.mw-kartographer-map level
 *
 * .mw-kartographer-maplink:
 *     Represents a <maplink> element as output by the Parser.
 *     May or may not be an interactive link yet (meanwhile JS gets loaded).
 *
 * .mw-kartographer-map
 *    Represents a <mapframe> element as output by the Parser.
 *    May or may not be an interactive map yet (meanwhile JS gets loaded)
 *
 * .mw-kartographer-link
 *     Represents an interactive map link.
 *     The class is added when the element becomes an interactive link.
 *     May or may not be a <maplink> or <mapframe> (if created via Developer API)
 *
 * .mw-kartographer-interactive
 *    Represents an interactive map.
 *    The class is added when the element becomes an interactive map.
 *
 * .mw-kartographer-static
 *    Represents an interactive map that was made static afterward because the
 *    viewport is too small.
 *
 * .mw-kartographer-mapDialog-map
 *    Represents an interactive map within a full screen map dialog.
 *
 * .mw-kartographer-fullScreen
 *    Fullscreen button shown on all <mapframe> elments (static and interactive)
 *
 * In practice:
 *
 * - <maplink> will have .mw-kartographer-maplink first,
 *                       .mw-kartographer-link then.
 *
 * - <mapframe> will have .mw-kartographer-map first,
 *                        .mw-kartographer-link then, if displaying static snapshot.
 *                        .mw-kartographer-interactive then, if directly interactive.
 */
.mw-kartographer-error {
  display: inline-block;
  background: #ffc0cb;
}
.mw-kartographer-interactive .leaflet-control-container .leaflet-control.leaflet-control-scale-line {
  /* @noflip */
  direction: ltr;
}
.mw-kartographer-interactive .leaflet-control-container .leaflet-control.leaflet-control-attribution {
  direction: ltr;
}
.mw-kartographer-static .leaflet-control-container .leaflet-top .leaflet-control {
  display: none;
}
.mw-kartographer-static .leaflet-control-container .leaflet-top .leaflet-control-static {
  display: block;
}
.mw-kartographer-static .leaflet-clickable {
  pointer-events: none;
}
.mw-kartographer-static.leaflet-container {
  cursor: default;
}
.mw-kartographer-fullScreen {
  position: absolute;
  top: 10px;
  right: 10px;
  margin-right: 0;
}
.mw-kartographer-map {
  direction: ltr;
  position: relative;
  display: block;
  font-size: 14px;
}
.mw-kartographer-map.mw-kartographer-link {
  display: block;
}
.mw-kartographer-map:not( .mw-kartographer-interactive ) > img {
  box-sizing: border-box;
  max-width: 100%;
  object-position: center center;
  object-fit: cover;
}
.mw-kartographer-container.mw-kartographer-full {
  box-sizing: border-box;
  clear: both;
  width: 100%;
}
.mw-kartographer-container.mw-kartographer-full > img {
  width: 100%;
}
.mw-kartographer-container.mw-kartographer-full .thumbinner {
  width: 100%;
  box-sizing: border-box;
}
.mw-kartographer-container.mw-kartographer-full .thumbinner > a > img {
  width: 100%;
}
.mw-kartographer-container:not( .mw-kartographer-full ) {
  max-width: 100%;
  /* Fixes `align=center` use case */
}
.mw-kartographer-container:not( .mw-kartographer-full ).center {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.mw-kartographer-container:not( .mw-kartographer-full ).thumb .thumbinner {
  max-width: 100%;
}
.mw-kartographer-container:not( .mw-kartographer-full ).thumb .thumbinner > .mw-kartographer-map {
  box-sizing: border-box;
  max-width: 100%;
}
/* @noflip */
a.floatright {
  float: right;
  clear: right;
  margin: 0 0 1em 1em;
}
/* @noflip */
a.floatleft {
  float: left;
  clear: left;
  margin: 0.3em 0.5em 0.5em 0;
}
@media print {
  .mw-kartographer-fullScreen,
  .leaflet-bar {
    display: none;
  }
}

/* stylelint-disable no-descending-specificity */
.mw-kartographer-link,
.mw-kartographer-maplink {
  cursor: pointer;
}
a.mw-kartographer-link:not( .mw-kartographer-autostyled ):not( .mw-kartographer-map ):not( .no-icon ),
.mw-kartographer-maplink:not( .mw-kartographer-autostyled ):not( .mw-kartographer-map ):not( .no-icon ) {
  /**
		 * These two files were copied from OOUI repository after the build process
		 * generated the progressive icons.
		 *
		 * See ./images/COPYING
		 *
		 * The master version of the icon is at:
		 * https://gerrit.wikimedia.org/g/oojs/ui/+/master/src/themes/wikimediaui/images/icons/mapPin.svg
		 */
  background-image: url(/w/extensions/Kartographer/styles/images/mapPin-progressive.svg?9e83b);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-size: contain;
  padding-left: 20px;
}
a.mw-kartographer-link.no-icon,
.mw-kartographer-maplink.no-icon {
  background: none;
  padding-left: 0;
}
.mw-kartographer-map .mw-kartographer-fullScreen .oo-ui-iconElement > .oo-ui-buttonElement-button {
  padding-right: 0;
}
.mw-kartographer-map:hover .mw-kartographer-fullScreen .oo-ui-buttonElement-button {
  background-color: #fff;
}
/**
 * Applied only when JS is enabled.
 */
.client-js {
  /* stylelint-disable-next-line indentation */
}
.client-js .leaflet-grab,
.client-js .mw-kartographer-map {
  cursor: pointer;
}
.client-js .leaflet-grab.mw-kartographer-interactive,
.client-js .mw-kartographer-map.mw-kartographer-interactive {
  cursor: move;
  cursor: url(/w/extensions/Kartographer/styles/images/grab.cur?b06c2), default;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}
.client-js .leaflet-grab.mw-kartographer-interactive:active,
.client-js .mw-kartographer-map.mw-kartographer-interactive:active {
  cursor: url(/w/extensions/Kartographer/styles/images/grabbing.cur?a8c87), default;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}
.client-js .mw-kartographer-maplink:not( .mw-kartographer-link ):not( .ve-ce-focusableNode ),
.client-js .mw-kartographer-map:not( .mw-kartographer-link ):not( .mw-kartographer-interactive ) {
  pointer-events: none;
  cursor: default;
}
/**
 * If `$wgKartographerUseMarkerStyle = true`.
 */
a.mw-kartographer-autostyled {
  color: #fff;
  display: inline-block;
  position: relative;
  top: -0.08em;
  box-sizing: content-box;
  height: 0.85em;
  margin-left: 0;
  border-radius: 1px;
  padding: 0.24em 0.42em;
  font-size: 0.85em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
}
a.mw-kartographer-autostyled:visited {
  color: #fff;
}

/* == Attribution control == */
/**
 * WikimediaUI Base v0.18.1
 * Wikimedia Foundation user interface base variables
 * https://gerrit.wikimedia.org/g/wikimedia-ui-base/
 *
 * See also https://design.wikimedia.org/style-guide/
 */
/* Static snapshot */
.mw-kartographer-attribution {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 5px;
  box-shadow: none;
}
/* Static + Interactive */
.mw-kartographer-attribution,
.leaflet-right.leaflet-bottom {
  background-color: rgba(255, 255, 255, 0.8);
  color: #202122;
  max-width: 100%;
}
/* Interactive */
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-attribution {
  /** Override initial properties */
  background-color: transparent;
  float: none;
  clear: none;
}
/* Static + Interactive */
.mw-kartographer-attribution,
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-attribution {
  font-size: 10px;
  font-family: sans-serif;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  /* Removes ellipsis on hover */
}
.mw-kartographer-attribution:hover,
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-attribution:hover {
  overflow: hidden;
  text-overflow: clip;
  white-space: normal;
}
.mw-kartographer-attribution a,
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-attribution a {
  color: #3366cc;
}
/* Static + Interactive */
.mw-kartographer-map:hover .mw-kartographer-attribution,
.mw-kartographer-interactive:hover .leaflet-right.leaflet-bottom {
  background-color: rgba(255, 255, 255, 0.9);
}

/* == Scale control == */
/* Scale Line style */
.leaflet-control-scale.leaflet-control .leaflet-control-scale-line {
  background-color: transparent;
  padding: 0 5px;
  font-size: 10px;
  font-family: sans-serif;
}
.leaflet-right.leaflet-bottom {
  /** Override initial properties */
}
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-scale {
  float: left;
  clear: none;
  margin: 1px 5px;
  line-height: initial;
}
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-scale .leaflet-control-scale-line {
  /* @noflip */
  direction: ltr;
  /* Scale Line style on hover */
  /** Override initial properties */
}
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-scale .leaflet-control-scale-line:hover {
  border-color: #000;
  cursor: pointer;
}
.leaflet-right.leaflet-bottom .leaflet-control.leaflet-control-scale .leaflet-control-scale-line:not( :first-child ) {
  border: 1px solid #000;
  border-top: 0;
  margin-top: 0;
}

/* stylelint-disable selector-class-pattern */
/* stylelint-disable selector-no-vendor-prefix */
/* stylelint-enable selector-no-vendor-prefix */
/**
 * WikimediaUI Base v0.18.1
 * Wikimedia Foundation user interface base variables
 * https://gerrit.wikimedia.org/g/wikimedia-ui-base/
 *
 * See also https://design.wikimedia.org/style-guide/
 */
/* stylelint-disable no-descending-specificity */
.mw-kartographer-interactive {
  z-index: 0;
  /* Leaflet Popups */
  /* Leaflet Controls */
}
.mw-kartographer-interactive.leaflet-container {
  color: #202122;
  font-size: 14px;
  font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;
}
.mw-kartographer-interactive.leaflet-container .marker-description img {
  width: 100%;
  height: auto;
  margin-bottom: 0;
  margin-top: 0.5em;
}
.mw-kartographer-interactive.leaflet-container a {
  color: #3366cc;
}
.mw-kartographer-interactive.leaflet-container a:hover {
  color: #447ff5;
  text-decoration: underline;
}
.mw-kartographer-interactive.leaflet-container a:active {
  color: #2a4b8d;
}
.mw-kartographer-interactive.leaflet-container a:focus {
  color: #3366cc;
}
.mw-kartographer-interactive.leaflet-container a.new {
  color: #d33;
}
.mw-kartographer-interactive.leaflet-container a.new:visited {
  color: #a55858;
}
.mw-kartographer-interactive .leaflet-popup-content {
  padding: 1em;
}
.mw-kartographer-interactive .leaflet-popup-content .marker-title {
  text-align: center;
}
.mw-kartographer-interactive .leaflet-popup-content .marker-title > a {
  font-weight: bold;
}
.mw-kartographer-interactive .leaflet-popup-content .marker-description {
  text-align: center;
}
.mw-kartographer-interactive .leaflet-popup-content-wrapper,
.mw-kartographer-interactive .map-legends,
.mw-kartographer-interactive .map-tooltip {
  border-radius: 2px;
}
.mw-kartographer-interactive.leaflet-touch .leaflet-bar {
  border: 0;
}
.mw-kartographer-interactive .leaflet-draw-actions,
.mw-kartographer-interactive .leaflet-control-layers,
.mw-kartographer-interactive .leaflet-bar {
  background-color: #f8f9fa;
  border: 0;
  box-shadow: none;
}
.mw-kartographer-interactive .leaflet-draw-toolbar .draw-actions {
  background-color: unset;
}
.mw-kartographer-interactive .leaflet-draw-actions a,
.mw-kartographer-interactive .leaflet-bar > a {
  background-color: #f8f9fa;
  color: #202122;
  box-sizing: content-box;
  border: 1px solid #a2a9b1;
  border-radius: 2px;
  border-bottom-width: 0;
  transition: background-color @transition-ease-quick, color @transition-ease-quick, border-color @transition-ease-quick, box-shadow @transition-ease-quick;
}
.mw-kartographer-interactive .leaflet-draw-actions a:hover,
.mw-kartographer-interactive .leaflet-bar > a:hover {
  background-color: #ffffff;
  border-bottom-width: 0;
  color: #404244;
  border-color: #a2a9b1;
}
.mw-kartographer-interactive .leaflet-draw-actions a:active,
.mw-kartographer-interactive .leaflet-bar > a:active {
  background-color: #c8ccd1;
  color: #000000;
  border-color: #72777d;
}
.mw-kartographer-interactive .leaflet-draw-actions a:focus,
.mw-kartographer-interactive .leaflet-bar > a:focus {
  border-color: #3366cc;
  outline: 0;
  box-shadow: inset 0 0 0 1px #3366cc, inset 0 0 0 2px #ffffff;
}
.mw-kartographer-interactive .leaflet-draw-actions a:only-of-type,
.mw-kartographer-interactive .leaflet-bar > a:only-of-type {
  border-radius: 2px;
  border-bottom-width: 1px;
}
.mw-kartographer-interactive .leaflet-draw-actions a:only-of-type:hover,
.mw-kartographer-interactive .leaflet-bar > a:only-of-type:hover {
  border-radius: 2px;
}
.mw-kartographer-interactive .leaflet-draw-actions a:first-child:not( :only-of-type ),
.mw-kartographer-interactive .leaflet-bar > a:first-child:not( :only-of-type ) {
  border-radius: 2px 2px 0 0;
}
.mw-kartographer-interactive .leaflet-draw-actions a:last-child,
.mw-kartographer-interactive .leaflet-bar > a:last-child {
  border-bottom: 1px solid;
  border-color: #a2a9b1;
}
.mw-kartographer-interactive .leaflet-draw-actions a:last-child:hover,
.mw-kartographer-interactive .leaflet-bar > a:last-child:hover {
  border-color: #a2a9b1;
  border-bottom-width: 1px;
}
.mw-kartographer-interactive .leaflet-draw-actions a:last-child:active,
.mw-kartographer-interactive .leaflet-bar > a:last-child:active {
  border-bottom-width: 1px;
  border-color: #72777d;
}
.mw-kartographer-interactive .leaflet-draw-actions a:last-child:not( :only-of-type ),
.mw-kartographer-interactive .leaflet-bar > a:last-child:not( :only-of-type ) {
  border-radius: 0 0 2px 2px;
}
.mw-kartographer-interactive .leaflet-bar > .oo-ui-icon-close,
.mw-kartographer-interactive .leaflet-bar > .oo-ui-icon-fullScreen {
  background-position: center;
}
.mw-kartographer-interactive .leaflet-control-attribution:after,
.mw-kartographer-interactive .leaflet-control-zoom-in,
.mw-kartographer-interactive .leaflet-control-zoom-out,
.mw-kartographer-interactive .leaflet-popup-close-button,
.mw-kartographer-interactive .leaflet-control-layers-toggle,
.mw-kartographer-interactive .map-tooltip .close,
.mw-kartographer-interactive .leaflet-container.dark .map-tooltip .close,
.mw-kartographer-interactive .mapbox-icon {
  opacity: 1;
}
