html, body {
    height: 100%;
    padding: 0;
    margin: 0;
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
 }
body.swal2-height-auto {
	height: 100% !important;
}
/* .swal2-popup {
	padding: 5% !important; 
} */
#map
{
    width: auto;
    height: 100%;
	font-size: 1rem;
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
}
.leaflet-verticalcenter {
    position: absolute;
    z-index: 1000;
    pointer-events: none;
    top: 50%; /* possible because the placeholder's parent is the map */
    transform: translateY(-50%); /* using the CSS3 Transform technique */
    padding-top: 10px;
}

.leaflet-verticalcenter .leaflet-control {
    margin-bottom: 10px;
}

.leaflet-top.leaflet-center {
    position: absolute;
    z-index: 1000;
    pointer-events: none;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
	width: 90%;
	display: flex;
}

.leaflet-top.leaflet-center .leaflet-control {
    pointer-events: auto;
}

.leaflet-bottom.leaflet-center {
    position: absolute;
    z-index: 1000;
    pointer-events: none;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.leaflet-bottom.leaflet-center .leaflet-control {
    pointer-events: auto;
}

.emergency-button{
	background-color: #ff0000;
	color: #fff;
	font-size: 1.5rem;
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
	text-align: center;
	text-decoration: none;
	border-radius: 5px;
	padding: 10px 20px;
	cursor: pointer;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.share-position-button{
	background-color: #dadada;
	color: #000;
	font-size: 1.5rem;
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
	text-align: center;
	text-decoration: none;
	border-radius: 5px;
	padding: 10px 20px;
	cursor: pointer;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.pulsating-circle {
	animation: pulsate 1s infinite;
	/* animation-timing-function: ea; */
}
@keyframes pulsate {
	0% { fill-opacity: 0.3; stroke-width: 2;}
	50% { fill-opacity: 0.3; stroke-width: 5;}
	65% {fill-opacity: 0.5; }
	100% { fill-opacity: 0.3; stroke-width: 2;}
}

.blast-circle-300m {
	animation: blast-animation-300m 1s infinite;
	/* animation-timing-function: ea; */
}
@keyframes blast-animation-300m {
	0% { fill-opacity: 0.3; stroke-width: 2;}
	50% { fill-opacity: 0.3; stroke-width: 5;}
	65% {fill-opacity: 0.5; }
	100% { fill-opacity: 0.3; stroke-width: 2;}
}

.blast-circle-600m {
	animation: blast-animation-600m 1s infinite;
	/* animation-timing-function: ea; */
}
@keyframes blast-animation-600m {
	0% { fill-opacity: 0.1; stroke-width: 2;stroke-dasharray: 10 15;stroke-dashoffset: 0}
	50% { fill-opacity: 0.1; stroke-width: 5; stroke-dasharray: 15 10; stroke-dashoffset: 2.5;}
	65% {fill-opacity: 0.3; }
	100% { fill-opacity: 0.1; stroke-width: 2; stroke-dasharray: 10 15; stroke-dashoffset: 0}
}
.blast-circle-fixed {
	animation: blast-animation-fixed 1s infinite;
	/* animation-timing-function: ea; */
}
.text-label {
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
	font-size: 1.5rem;
	color: #f00;
	white-space: nowrap;
	text-align: center;
}
@keyframes blast-animation-fixed {
	0% { fill-opacity: 0.1; stroke-width: 2;}
	50% { fill-opacity: 0.1; stroke-width: 5;}
	65% {fill-opacity: 0.3; }
	100% { fill-opacity: 0.1; stroke-width: 2;}
}

.leaflet-control-locate-location {
	z-index: 999 !important; 
}
.share-position-button-active{
	background-color: #009900;
	color: #fff;
	font-size: 1.5rem;
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
	text-align: center;
	text-decoration: none;
	border-radius: 5px;
	padding: 10px 20px;
	cursor: pointer;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.leaflet-control-attribution {
	display: none;
}
.leaflet-marker-icon.leaflet-interactive{
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
}

.rescueTooltip {
	background-color: white;
	opacity: 1 !important;
    scrollbar-width: thin;
	scrollbar-base-color: #000;
	color: #1c2434;
	z-index: 9999 !important;
	padding-top: 0px;
	padding-bottom: 0px;  
}

.drawingTooltip {
	background-color: #b7712c;
	border-color: black;
	opacity: 1 !important;
    scrollbar-width: thin;
	scrollbar-base-color: #000;
	color: #fff;
	z-index: 9999 !important;
	padding-top: 0px;
	padding-bottom: 0px;  
}

.rescuePopup .leaflet-popup-content-wrapper {
	background-color: white;
    scrollbar-width: thin;
	scrollbar-base-color: #000;
	color: black;
	z-index: 9999 !important;
}
.rescuePopup .leaflet-popup-tip {
	background-color: white;
}
.leaflet-popup-content-wrapper{
	background-color: rgba(0,0,0,0.5);
    scrollbar-width: thin;
	scrollbar-base-color: #000;
	color: white
}
.share-arrow{
	background: url("images/share-arrow.svg") center center no-repeat;
}
.triangle-exclamation{
	background: url("images/triangle-exclamation-solid.svg") center center no-repeat;
	background-size: 18px 18px;
	display: inline-block;
	width: 18px;
	height: 18px;
}
.measure-ruler{
	background: url("images/measure-ruler.svg") center center no-repeat;
}
.stopwatch{
	background: url("images/stopwatch-solid.svg") center center no-repeat;
}
.arrow-right{
	background: url("images/arrow-right.svg") center center no-repeat;
	height: 24px;
	width: 24px; 
	display: inline-block;
}
.leaflet-contextmenu-icon{
	width: 20px !important;
	height: 20px !important;
	margin: 14px 8px 14px 0 !important; 
}
.leaflet-control-layers label {
	line-height: 40px; 
	padding: 10px; 
}
.leaflet-control-layers span {
	padding: 10px; 
}
.leaflet-control-layers input {
	margin: 10px; 
}


.hash-popup .leaflet-popup-tip,
.hash-popup .leaflet-popup-content-wrapper {
    background: white;
    color: #384967;
	font-size:large;
	text-align: center;
	font-family: "Eurostile Next Semibold", "Helvetica Neue", sans-serif
}

.leaflet-contextmenu a.leaflet-contextmenu-item {
	line-height: 50px !important; 
	font-size: 1rem !important;
}

.swal2-input {
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif !important;
	margin: 0px; 
}
.swal2-styled {
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif !important;
}

#hashinput {
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif !important;
}

div:where(.swal2-container) button:where(.swal2-styled){
	border: 0;
  border-radius: .25em;
  background: initial;
    background-color: initial;
    background-image: initial;
	background-color: rgb(56, 73, 103);
  color: #fff;
  font-size: 1em;
}

.positionCode{
    color: #384967;
	font-size:larger;
	text-align: center;
	font-family: "Eurostile Next Semibold", "Helvetica Neue", sans-serif
}

.leaflet-popup-tip {
	background-color: #444
}

.leaflet-tooltip.areaLabels {
	position: absolute;
	padding: 0px;
	background: #ff993300;
	border: 1px solid #ff993300;
	border-radius: 3px;
	color: #ffd9b3;
	/* -webkit-text-stroke: 3px #000;
	paint-order: stroke fill; */
	text-shadow:
		-1px -1px 0 #000,  
		 1px -1px 0 #000,
		-1px  1px 0 #000,
		 1px  1px 0 #000,
		 5px 0 10px #000000,
		 5px 0 10px #000000;
	font-size: 14pt;
	font-weight: bold;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	/* box-shadow: 0 1px 3px rgba(0,0,0,0.0);  */
	}

.officeMap .leaflet-popup-content-wrapper{
	background-color: #fff;
    scrollbar-width: thin;
	/* scrollbar-base-color: #fff; */
}
.officeMap .leaflet-popup-tip {
	background-color: #fff
}

.blastPostIcon{
	font-size: 16pt;
	overflow-x:visible; 
	line-break:strict;
}

.leaflet-control-search{
	width: 400px !important;
	max-width: 80%;
	margin:auto !important;
	display: flex;
}
.search-input {
	width: 100% !important;
}
.search-tooltip {
	width: 400px !important;
	max-width: 100% !important;
}

/* Position code label next to location button */
.position-code-label {
	position: absolute;
	text-transform: uppercase;
	bottom: 10px;
	right: 50px;
	color: #eecaa5;
	padding: 8px 0px;
	font-size: 14px;
	font-weight: normal;
	font-family: 'Eurostile Next Regular', 'Helvetica Neue', sans-serif;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
	z-index: 1000;
	pointer-events: none;
}

/* Composite share location icon */
.share-location-icon,
.share-location-icon-active {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 20px;
	height: 20px;
}

.share-location-icon .fa-location-dot,
.share-location-icon-active .fa-location-dot {
	position: absolute;
	font-size: 14px;
	left: 4px;
	top: 9px;
}

.share-location-icon .fa-wifi,
.share-location-icon-active .fa-wifi {
	position: absolute;
	font-size: 12px;
	left: 2px;
	top: 1px;
}

/* Animated share position button */
.share-location-icon-active .fa-wifi {
	animation: pulse-icon 1s ease-in-out infinite;
}

@keyframes pulse-icon {
	0%, 100% {
		transform: scale(1.2);
		opacity: 1;
	}
	50% {
		transform: scale(1);
		opacity: 0.5;
	}
}

/* Green background for active share position button */
.easy-button-button .share-location-icon-active {
	background-color: #79c28a !important;
}

button.easy-button-button:has(.share-location-icon-active) {
	background-color: #80c590 !important;
}

/* Blastsafe scanner icon with orange stroke */
.blastsafe-scanner-icon {
	filter: drop-shadow(0 0 0 2px #ff7800) !important;
}

/* Popup styling - black text on white background */
.leaflet-popup-content-wrapper {
	background-color: #ffffff !important;
	color: #000000 !important;
}

.leaflet-popup-content {
	color: #000000 !important;
}

.leaflet-popup-tip {
	background-color: #ffffff !important;
}
