/*
@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600);
*/

@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: normal;
  src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url('assets/SourceSansPro-Regular.woff') format('woff');
}

@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: bold;
  src: local('Source Sans Pro Semibold'), local('SourceSansPro-Semibold'), url('assets/SourceSansPro-Semibold.woff') format('woff');
}

@font-face {
	font-family: 'Iosevka';
	src: url('assets/iosevka-light.woff2') format('woff2');
}


html, body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
}

body {
	overflow: hidden;
	background-color: #fff;
	font: 14px/1.4 'Source Sans Pro', Arial, sans-serif;
	color: #444;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	cursor: default;
}

.selectable,.selectable * {
	user-select: default;
	-webkit-user-select: text;
	-moz-user-select: text;
	cursor: text;
}


/* --- Themed elements -------------- */

.page-header,
.dialog-btn {
	background-color: #077880;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
	transition: all 0.3s ease; /* Add a transition for smooth hover effects */
}

.colored-text,
.save-menu-link,
.save-menu-btn,
.add-field-btn,
.nav-menu-item {
	color: #077880;
	transition: color 0.3s ease; /* Add a transition for smooth color change */
}

.dot-underline {
	border-color: #077880;
	border-bottom: 1px dotted;
}

.dot-underline-black {
	border-bottom: 1px dotted black;
}

.nav-btn * {
	fill: #077880;
	transition: fill 0.3s ease; /* Add a transition for smooth fill color change */
}

.alert-btn + .alert-btn {
	margin-left: 4px;
}

.dialog-btn {
	display: inline-block;
	margin-bottom: 1px;
	margin-top: 3px;
	font-size: 13px;
	color: white;
	min-width: 28px;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
	transition: all 0.3s ease; /* Add a transition for smooth hover effects */
}

.dialog-btn:hover:not(.disabled),
.btn.header-btn:hover,
.dialog-btn.default-btn,
.dialog-btn.selected-btn {
	background-color: #077880;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.2); /* Increase box shadow on hover for a "pressed" effect */
}

.dialog-btn.disabled {
	opacity:  0.5;
}

.colored-text::selection {
	background-color: #e6f7ff;
}

.colored-text::-moz-selection {
	background-color: #e6f7ff;
}

.layer-item.active {
	background-color: #e6f7ff;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
	transition: all 0.3s ease; /* Add a transition for smooth hover effects */
}

/* --- Page header --------------- */

.page-header {
	position: absolute;
	color: white;
	top: 0;
	left: 0;
	z-index: 40;
	width: 100%;
	height: 40px;
	background: linear-gradient(to right, #077880, #ec2f4b); /* Add a gradient background */
	box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
	transition: all 0.3s ease; /* Add a transition for smooth hover effects */
}

.basemap-on .coordinate-info {
	left: 100px;
}

.coordinate-info {
	z-index: 1;
	position: absolute;
	bottom: 7px;
	left: 7px;
	padding: 2px 5px 2px 5px;
	font-size: 11px;
	pointer-events: none;
	background: rgba(255,255,255,0.4);
}

.mapshaper-logo {
	font-weight: bold;
	font-size: 17px;
	margin: 2px 0 0 11px;
}

.mapshaper-logo .logo-highlight {
	color: #ffa;
}

.page-header a {
	text-decoration: none;
}

.page-header-buttons {
	z-index: 20;
	position: absolute;
	top: 0px;
	right: 0px;
	display: none;
	margin: 0 6px 3px 0;
}

.btn.header-btn {

	color: #fff;
	border: none;
	margin-top: 5px;
margin-bottom: 0;
	margin-left: 20px;
	height: 25px;
	box-sizing: border-box;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	padding: 7px 8px 0 8px;
	transition: all 0.3s ease;
}

.page-header .header-btn.disabled,
.page-header .header-btn.disabled:hover {
	background-color: transparent;
}

.page-header .btn.header-btn.active {
	background-color: black;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
}

.separator {
	border-left: 1px solid white;
	height: 10px;
	margin: 0 2px 0 2px;
	display: none;
}
/* --- Selection tool dialog --------- */

.selection-tool-options {
 pointer-events: none;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

.selection-tool-options .info-box {
 pointer-events: initial;
 text-align: center;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

/* --- Box tool dialog --------- */

.box-tool-options {
 pointer-events: none;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

.box-tool-options .btn {
 pointer-events: initial;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

.box-tool-options .info-box {
 text-align: center;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

.box-tool-options .box-coords {
 margin-top: 7px;
 pointer-events: initial;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}
/* --- Export dialog --------- */

.export-options .dialog-btn {
 min-width: 20px;
 padding: 4px 6px 5px 6px;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

.export-options table {
 margin: 0;
 border-collapse: collapse;
 border-spacing: 0;
 width: 100%;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
}

.export-layer-list {
 max-height: 160px;
 overflow: hidden;
 overflow-y: auto;
 margin-right: -3px;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}

.export-layer-list > div {
 white-space: nowrap;
 transition: all 0.3s ease; /* Add a transition for smooth hover effects */
 border-radius: 4px; /* Add rounded corners */
 box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Add a box shadow for a "raised" effect */
}
/* --- Main area ------------- */

.main-area {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 29px 0 0 0;
}


/* --- Error message ---------- */

.alert-wrapper {
	z-index: 120;
	text-align: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.alert-wrapper p.error-message {
	margin: 1px 0 0 0;
}

.alert-title {
	line-height: 1.1;
	font-weight: bold;
	margin-bottom: 7px;
}

div.alert-title, div.error-message {
	font-size: 16px;
}

.alert-wrapper .alert-btn {
	margin-top: 8px;
}

div.alert-box {
	margin-top: 42px; /* 55px; */
	overflow: auto;
	max-height: 70%;
	max-width: 400px;
}



/* --- Splash screen -------------- */

.splash-screen #splash-screen {
	display: block;
}

.splash-screen #splash-buttons {
	display: block;
}

.queued-files.splash-screen #import-options-drop-area {
	display: block;
	z-index: 2;
}

#import-options-drop-area .drop-area {
	height: 100%;
}

#splash-screen {
	z-index: 1;
	text-align: center;
	font-size: 15px;
	display: none;
}

#splash-screen, #import-options-drop-area {
	background-color: #def1f9;
}

#splash-screen .subtitle {
	color: #777;
}

.splash-screen #import-options .info-box {
	margin-top: 40px;
}

.queued-files #import-options {
	display: block;
}

#splash-screen *,
#import-options-drop-area * {
	box-sizing: border-box;
}

.drop-area {
	border: 2px dashed #a2a2a2;
	border-radius: 19px;
	background-color: #f8fdff;
	overflow: hidden;
}

#splash-screen .drop-area.dragover,
body.dragover #import-options-drop-area .drop-area {
	border-color: #333;
}

#drop-areas {
	margin-top: 30px;
}

.drop-area-wrapper {
	padding: 16px 16px 15px 16px;
}

.catalog-mode #import-drop,
.catalog-mode #import-quick-drop,
.catalog-mode .file-catalog {
	height: 32%;
}

#import-drop {
	height: 61.6%;
}

#import-quick-drop {
	height: 37%;
}

.queued-files #splash-screen {
	display: none;
}

/* between the two drop areas */
#splash-screen .spacer {
	height: 1.6%;
}

#splash-screen h3 {
	margin: 11px 0 0 0;
	color: #333;
	font-size: 18px;
}

#splash-screen h4 {
	color: #333;
	font-size: 17px;
	margin: 11px 0 0 0;
}

#file-selection-btn.inline-btn {
	padding: 2px 4px 3px 3px;
}

/* --- File catalog --------------- */

.catalog-mode .file-catalog,
.catalog-mode .file-catalog-spacer {
	display: block;
}

.catalog-area {
	overflow: hidden;
	border: 1.5px solid #aaa;
	border-radius: 19px;
	background-color: #f8fdff;
}

.file-catalog table {
	margin: 0;
	border-collapse: collapse;
	height: 100%;
	width: 100%;
}

.file-catalog th {
	vertical-align: top;
	height: 40px;
}

.file-catalog,
.file-catalog-spacer {
	display: none;
}

.file-catalog td {
	margin: 0;
	cursor: pointer;
	vertical-align: top;
}

.file-catalog td:hover {
	background-color: #e2e2e2;
}

.file-catalog.downloading td.downloading {
	background-color: #d5d5d5;
	background-size: 0% 100%;
	background-repeat: no-repeat;
	background-position: top left;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAMAAABFaP0WAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFt7e3AAAAgOo4JQAAAA5JREFUeNpiYAABgAADAAAGAAHgQhFOAAAAAElFTkSuQmCC);
}

/* --- Import screen -------------- */

.option-menu .text-input {
	width: 230px;
	background: #f5f6f7; /* Light grey background */
	border: 1px solid #d1d1d1; /* Light grey border */
	padding: 0 3px;
	height: 18px;
	font-size: 13px;
	margin: 0 0 5px 0;
	color: #333; /* Dark grey text */
}

::placeholder {
	color: #aaa;
	opacity: 1;
}

#mshp-not-supported {
	display: none;
	z-index: 100;
	text-align: center;
}

.dropped-file-list {
	margin-bottom: 8px;
	max-height: 300px;
	overflow-y: auto;
	background: #fff; /* White background */
	border: 1px solid #d1d1d1; /* Light grey border */
	border-radius: 4px; /* Rounded corners */
}

.dropped-file-list img.close-btn {
	position: absolute;
	cursor: pointer;
	width: 14px;
	height: 14px;
	padding: 0;
	top: 3px;
	right: 0px;
}

.dropped-file-list > div {
	position: relative;
}

.dropped-file-list span {
	margin-right: 16px;
}

#import-options .dropped-file-list p {
	line-height: 1;
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: bold;
	color: #333; /* Dark grey text */
}

.popup-dialog {
	display: none;
	z-index: 80;
	text-align: center;
}

.info-box,.popup {
	border-radius: 9px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.1); /* Lighter shadow */
	background-color: #fff;
}

.info-box {
	min-width: 230px;
	word-wrap: break-word;
	text-align: left;
	margin-top: 12px;
	margin-right: 20px;
	padding: 11px 16px 12px 18px;
	vertical-align: top;
	display: inline-block;
	border: 1px solid #d1d1d1; /* Light grey border */
}

.info-box h3 {
	font-size: 19px;
	line-height: 1.1;
	padding: 0;
	margin: 0 0 0.3em 0;
	font-weight: normal;
	color: #333; /* Dark grey text */
}

.info-box h3.list-header {
	margin-bottom: 0.1em;
}

.info-box h4 {
	font-size: 1.085em;
	font-weight: normal;
	margin: 0 0 2px 0;
	color: #333; /* Dark grey text */
}

.info-box p {
	white-space: pre-line;
	margin: 0 0 7px 0;
	line-height: 1.2;
	font-size: 90%;
	color: #333; /* Dark grey text */
}



/*.option-menu input[type="radio"],
.option-menu input[type="checkbox"]  */
input[type="radio"],
input[type="checkbox"] 
{
	position: relative;
	top: 1px;
	width: 12px;
	height: 12px;
	cursor: pointer;
}

.info-box .tip-button {
	margin: 3px 2px 0 10px;

}

.info-box input[type="checkbox"] {
	margin: 3px 5px 0 1px;
}

.info-box input.radio {
	margin: 0 5px 0 0;
}

/* --- Progress bar --------------- */

.progress-message {
	position: absolute;
	width: 100%;
	z-index: 90;
	text-align: center;
	top: 52px;
}

.progress-message > div {
	display: inline-block;
	text-transform: uppercase;
	padding: 3px 6px;
	font-size: 15px;
	color: black;
	background-color: rgba(255, 255, 222, 0.85);
	border: 1px solid #333;
}

/* === Editing interface ========== */

#mshp-main-page {
	position: relative;
	height: 100%;
	width: 100%;
}


/* --- Console control ------------ */

.console-area {
	right: auto;
	width: 495px;
	max-width: 100%;
	font-size: 12px;
}

body.console-open .map-area {
	left: 495px;
}

/* responsive sizing, should be 78-80 chars per line */
@media screen and (max-width: 525px) {
	body.console-open .map-area {
		display: none;
	}
}

@media screen and (min-width: 1200px) {
	body.console-open .map-area {
		left: 535px;
	}

	.console-area {
		width: 535px;
		font-size: 13px;
	}
}

@media screen and (min-width: 1400px) {
	body.console-open .map-area {
		left: 575px;
	}

	.console-area {
		width: 575px;
		font-size: 14px;
	}
}


.console {
	z-index: 30;
	pointer-events: none;
	display: none;
}

.console-window {
	pointer-events: auto;
	background-color: black;
	position: absolute;
	text-align: center;
	overflow: auto;
	width: 100%;
	height: 100%;
}

.console-buffer {
	cursor: text;
	width: 100%;
	position: relative;
	color: white;
	font-family: Iosevka, monospace;
	line-height: 1.35;
	margin: 8px 0 20px 0;
	word-break: break-all;
	word-wrap: break-word;
	white-space: pre-wrap;
	 /* Removing this workaround: non-standard behavior fixed in recent Chrome
	white-space: pre; */
}

.console-buffer > div {
	text-align: left;
	/* max-width: 640px; */
	margin: 0 auto;
	padding: 0 10px 0 14px;
}

.console-error {
	color: #f93b00;
}

.console-message {
	color: #eddd98;
}

.console-example {
	color: #b9dffc;
}

.input-field {
	outline: none;
	min-width: 100px;
}

/* --- Layer menu ----------- */

.layer-control-btn {
	top: 0;
	width: 100%;
	position: absolute;
	text-align: center;
	z-index: 30;
	display: none;
	pointer-events: none;
}

.layer-control-btn.active {
	display: block;
}


.layer-control-btn > .btn.header-btn {
	white-space: nowrap;
	position: relative;
	background-color: #077880;
	padding-left: 12px;
	padding-right: 12px;
	pointer-events: auto;
	margin-right: 20px;
}

.layer-control-btn > .btn.header-btn:hover {
	background-color: #077880;
}

body.simplify .layer-control-btn {
	display: none;
}

.layer-control .info-box {
	padding: 0;
	pointer-events: none;
	background-color: transparent;
}

.layer-control div.info-box-scrolled {
	position: relative;
	z-index: -1;
	background-color: white;
	max-height: 500px;
	overflow: hidden;
	overflow-y: auto;
	padding: 9px 14px 6px 14px;
	pointer-events: auto;
	border-radius: 9px;
}

.layer-control .info-box {
	/* (Chrome fix) raise layer menu above container to catch events */ 
	position: relative;
	z-index: 90;
}

.layer-menu .layer-list {
	margin: 6px 0 7px 0;
}

.layer-menu .layer-item {
	position: relative;
	margin-left: -14px;
	margin-right: 6px;
	padding: 6px 14px;
	width: 100%;
}

.layer-menu .layer-list .layer-item {
	cursor: pointer;
}

.layer-menu .file-list {
	padding-bottom: 4px;
}

.layer-menu .file-list .layer-item {
	padding: 0px 14px 2px 14px;
}


.pin-all img,
.layer-item img
{
	position: absolute;
	width: 16px;
	height: 16px;
	padding: 2px;
	right: 6px;
}

img.close-btn {
	opacity: 0.2;
}

.close2-btn {
	display: inline-block;
	background-color: #f1f1f1;
	background-image: url("images/close2.png");
	background-size: cover;
	float: right;
	height:  18px;
	width:  18px;
	/* margin-top: 1px; */
	margin-right: -3px;
	cursor: pointer;
	border-radius: 4px;
}

.close2-btn:hover {
	background-color: #ddd;
}

.pin-all img {
	top: 11px;
	cursor: pointer;
}

.layer-item img.pin-btn {
	top: 4px;
}

.layer-item img.close-btn {
	/* top: 29px; */
	bottom: 5px;
}

/* hide close button when not hovering */
.layer-item:not(:hover) img.close-btn,
.layer-item.dragging img.close-btn {
	display: none;
}

img.pin-btn {
	opacity: 0;
}

.pinnable:not(.pinned):not(.active) img.unpinned {
	opacity: 0.2;
}

.pinnable:not(.pinned) img.unpinned:hover {
	opacity: 0.3;
}

.pinnable.pinned.active img.unpinned {
	opacity: 0;
}

img.close-btn:hover,
.pinnable.active:not(.pinned) img.unpinned,
.pinnable.pinned img.pinned {
	opacity: 1
}

.pinnable img.unpinned {
	z-index: 1;
}

.layer-item .row {
	line-height: 17px;
	margin-bottom: 1px;
	white-space: nowrap;
}

.layer-item .layer-name {
	display: inline-block;
	min-height: 14px; /* For FF when content is empty */
	min-width: 2px;
	outline: none;
}

.layer-item .row.layer-problems {
	color: #f93b00;
}

.layer-item .layer-name.editing {
	border-bottom: 1px solid transparent;
}

.layer-item .layer-name::selection {
	background: black;
	color: white;
	text-decoration: none;
}

.layer-item .layer-name::-moz-selection {
	background: black;
	color: white;
	text-decoration: none;
}

.layer-list .layer-item:hover:not(.active):not(.dragging) {
	background-color: #f7f7f7;
}

.layer-item .row > div {
	display: inline-block;
}

.layer-item .col1 {
	width: 84px;
}

.layer-item .row1 .col2 {
	margin-right: 19px; /* room for buttons */
}


.layer-item.drag-target:not(.active) {
	background-color: #f7f7f7;
}

.layer-item.drag-target * {
	/* opacity: 0.3; */
}

.layer-item.drag-target.active {
	/* background-color: #BDE2F4; */
}

.layer-item.insert-above:not(.drag-target) {
	border-top: 1px solid black;
}

.layer-item.insert-below:not(.drag-target) {
	border-bottom: 1px solid black;
}

/* --- Intersection control ----------*/

.intersection-display {
	cursor: default;
	visibility: visible;
	display: none;
	position: absolute;
	z-index: 20;
	top: 10px;
	left: 13px;
}

.intersection-check {
	display: none;
}

.intersection-count .icon {
	background-color: #F24400;
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 5px 2px 0;
}

.intersection-count .icon.black {
	background-color: black;
}

.intersection-display .close-btn {
	width: 16px;
	height: 16px;
	cursor: pointer;
	position: relative;
	top: 4px;
	margin-left: 1px;
}

/*.intersection-display .text-btn.disabled {
	visibility: hidden;
}*/

/* --- Popup -------------------- */

.popup {
	font-size: 13px;
	box-sizing: border-box;
	position: absolute;
	z-index: 40;
	top: 12px;
	left: 12px;
	padding: 5px 0;
}

.popup div.popup-tab {
	position: absolute;
	pointer-events: none;
	right: -81px;
	width: 80px;
	top: 6px;
}

.popup-tab .popup-nav {
	display: inline-block;
	pointer-events: auto;
	background-color: rgba(234,234,234,0.85);
	padding: 3px 5px 3px 4px;
	white-space: nowrap;
}

.popup-nav .popup-nav-arrow {
	cursor: pointer;
	padding: 0 1px;
}

.popup > div.popup-content {
	box-sizing: border-box;
	overflow: hidden;
	overflow-y: auto;
	padding: 4px 12px 3px;
	line-height: 1.2;
}

.popup table {
	border-spacing: 0px;
}

.popup table td {
	vertical-align: top;
	/* padding: 2px 0; */
	min-width: 80px;
	max-width: 180px;
	color: black;
	height: 17px; /* functions like min-height on <td> */
}

.popup td.field-name {
	color: #aaa;
	padding-right: 7px;
	font-weight: normal;
	min-width: 60px;
	max-width: 260px;
}

.popup .value {
	outline: none;
	word-wrap: break-word;
}

.popup .num-field {
	font-style: italic;
}

.popup .empty, .popup .null-value {
	min-width: 4px;
	display: inline-block;
	min-height: 13px;
}

.popup .null-value {
	color: #aaa;
}

.popup .note {
	font-style: italic;
	min-height: 16px;
}

.popup .editable-cell .value.editing {
	color: black;
	border-bottom: none;
}

.popup .editable-cell .value::selection {
	color: white;
	background: black;
}

.popup .editable-cell .value::-moz-selection {
	color: white;
	background: black;
}


/* --- Map ---------------------- */

.map-layers {
	z-index: 0;
	position: relative;
	height: 100%;
}

.basemap-options {
	pointer-events: none;
}

.basemap-options .info-box {
	width:  min-content;
	pointer-events: initial;
}

.basemap-container {
	z-index: -1;
	position:  absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.basemap {
	display: none;
	position: relative;
	height: 100%;
}



.basemap-styles {
	margin: 0 -2px;
	white-space: nowrap;
}

.basemap-warning {
	color: #cc0000;
}

.basemap-prompt {
	width: 100%;
	text-align:  center;
	z-index:  -2;
	bottom: 8px;
	font-size: 22px;
	color: #aaa;
	position: absolute;
}

.basemap-styles > div {
	display: inline-block;
	margin-bottom:  6px;
}

.basemap-styles > div:nth-child(even) {
	position: relative;
	margin-left: 10px;
}

.basemap-style-btn img {
	display: block;
	position:  relative;
	border: 2px solid transparent;
	width:  108px;
}

div.basemap-style-btn.active img {
	border: 2px solid #e8ba52;
}

.basemap-style-btn:hover img {
	cursor: pointer;
	border: 2px solid #ead683;
}

.basemap-style-label {
	margin-left: 2px;
}

.mapbox-improve-map {
	display: none;
}

.mshp-main-map {
	/* background-color: #fff; */
}

.map-layers.symbol-hit {
	cursor: pointer;
}

.map-layers canvas {
	pointer-events: none;
	position: absolute;
}

.map-layers canvas.retina {
	transform-origin: top left;
	-webkit-transform-origin: top left;
	transform: scale3D(0.5, 0.5, 1);
	-webkit-transform: scale3D(0.5, 0.5, 1);
}

.map-layers > svg {
	position: absolute;
}

.map-layers > svg text.selected {
	stroke: #FFC3FF;
	stroke-width: 4;
	paint-order: stroke;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.map-layers > svg.dragging,
.map-layers > svg text.selected {
	cursor: pointer;
}

/* ---  MAP BUTTONS --- */

.pointer-btn {
	z-index: 2;
}

.nav-buttons {
	z-index: 20;
	position: absolute;
	text-align: center;
	top: 12px;
	right: 0;
	padding: 3px; 
	background-color: rgba(255, 255, 255, 1);
}

.nav-btn-wrapper {
	position: relative;
}

.nav-sub-btn {
	position: absolute;
	display: none;
	cursor: pointer;
	top: 4px;
	padding: 4px;
	right: 20px;
	z-index: -2;
}

.nav-sub-btn svg * {
	fill: black !important;
}

.save-btn .save-menu {
	top: 23px;
}

.inline-checkbox {
	margin-left: 5px;
}

#save-preference {
	/* display: none; */
}

.nav-sub-menu {
	position: absolute;
	z-index: -1; 
	display: none;
	pointer-events: none;
	padding-top: 4px;
	top: 27px;
	right: -3px;
	white-space: nowrap;
}

.nav-btn.open .nav-sub-menu {
	display: block;
	pointer-events: inherit;
}

.nav-menu-item {
	background-color: #fff;
	float: right;
	clear: right;
	white-space: nowrap;
	display: inline-block;
	padding: 5px 7px 5px 7px;
	line-height: 11px;
	cursor: pointer;
}


.nav-menu-item:hover,
.nav-btn:hover .nav-sub-menu:not(.active):not(:hover) .nav-menu-item[data-name=info] {
	font-weight: bold;
	background: #e6f7ff;
}

.nav-menu-item.selected {
	color: black;
	font-weight: bold;
}

/* bullets https://www.w3schools.com/charsets/ref_utf_geometric.asp */
.nav-sub-menu.active .nav-menu-item.selected:before {
	content: "\25B8  "
}

.nav-btn {
	position: relative;
	cursor:pointer;
	/* padding: 3px 3px 5px 3px; */
	padding: 4px;
	line-height: 1;
}

.nav-btn.menu-btn {
	padding-top:  3px;
}

.nav-btn.selected {
	background-color: black;
	/* border-radius: 3px; */
}

.nav-btn:hover:not(.disabled) svg *,
.nav-btn.hover.menu-btn:not(.disabled) svg * {
	fill: #077880;
}

.nav-btn.menu-btn.selected:not(.disabled) svg * {
	fill: white;
}

.save-menu {
	text-align: right;
	padding-bottom: 5px;
}

.save-menu-entry {
	/* padding: 4px 7px 5px 7px; */
	line-height: 11px;
	padding: 4px 7px 5px 7px;
	display: inline-block;
	background: white;
}

.save-menu-btn {
	display: inline-block;
	border-radius: 4px;
	border: 1px solid #aaa;
	font-size: 12px;
	margin-left: 2px;
	padding: 1px 2px 3px 2px;
}

.add-field-btn {
	display: inline-block;
	font-size: 12px;
	margin-top: 2px;
}

.save-menu-btn:hover,
.add-field-btn:hover {
	color: black;
}

.save-menu-link,
.save-menu-btn,
.add-field-btn {
	cursor: pointer;
}



.save-menu-link:hover {
	/* background: #e6f7ff; */
	font-weight: bold;	
}

.save-item-label {
	font-weight: bold;
}

.save-item-size {
	/*color: #999;*/
	font-weight: bold;
	font-size: 11px;
	letter-spacing: 0.5;
}

.save-menu-item {
	position: relative;
	right: 0;
	text-align: right;
	background-color: #fff;
	white-space: nowrap;
	padding: 2px 7px 0px 7px;
	line-height: 11px;
	cursor: pointer;
}

.nav-btn.disabled {
	opacity: 0.4;
	cursor: default;
}

.zoom-box {
	position: absolute;
	border: 1px solid #cc6acc;
	z-index: 15;
	pointer-events: none;
}

.zoom-box .handle {
	position: absolute;
	z-index: 16;
	/* cursor: pointer; */
	background: #cc6acc;
	pointer-events: all;
}

/* Simplification control ------------ */

@media (max-width: 765px) {
	body.simplify  .simplify-control-wrapper {
		top: 26px;
	}

	body.simplify .page-header {
		height: 80px;
	}

	body.simplify .main-area {
		margin-top: 55px;
	}
}

.simplify-control-wrapper {
	display: none;
	position: absolute;
	width: 100%;
	overflow: hidden;
	margin: 0 auto 0 auto;
	top: 0px;
}

.simplify-control {
	text-align: center;
	white-space: nowrap;
	padding: 0 90px 0 12px;
}

.simplify-control .slider {
	margin: 15px 5px 0 3px;
	position: relative;
	vertical-align: top;
	display: inline-block;
}

.simplify-control .track {
	border-radius: 2px;
	width: 340px;
	background-color: #fff;
	height: 2px;
}

.simplify-control .handle {
	position: absolute;
	top: -3px;
}

.simplify-control .handle img {
	width: 20px;
	height: 20px;
	margin-left: -10px;
	margin-top: -10px;
}

.simplify-control .clicktext {
	width: 56px;
	background: rgba(255, 255, 255, 0.5);
	text-align: center;
	border: 1px solid rgba(0,0,0,0);
	font-size: 13px;
}

.simplify-control .clicktext:focus {
	background: #fff;
}
