:root {
  --main-color: #caeaf5;
  --main-bg: #2c2c2c;
  --main-dark: #3c3c3c;
  --main-hover: #545454;
  --radius: 6px
}

* {
  font-family: 'Montserrat', sans-serif !important;
  color: var(--main-color) !important;
  font-weight: 400 !important;
}

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font-size: 24px !important;
  background: none !important;
  transition: all 0.5s ease !important;
  border: none !important;
}

.leaflet-control-zoom-in {
  border-top-left-radius: var(--radius) !important;
  border-top-right-radius: var(--radius) !important;
}

.leaflet-control-zoom-out {
  border-bottom-left-radius: var(--radius) !important;
  border-bottom-right-radius: var(--radius) !important;
}

.leaflet-control-zoom-in:hover {
  background: var(--main-hover) !important;
  border-top-left-radius: var(--radius) !important;
  border-top-right-radius: var(--radius) !important;
}

.leaflet-control-zoom-out:hover {
  background: var(--main-hover) !important;
  border-bottom-left-radius: var(--radius) !important;
  border-bottom-right-radius: var(--radius) !important;
}

.leaflet-bar,
.leaflet-control {
  border: 2px solid var(--main-dark) !important;
  background: var(--main-bg) !important;
  box-shadow: none !important;
  border-radius: var(--radius) !important;
}

.worldcontrol {
  padding: 0 !important;
  border-radius: var(--radius) !important;
}

.worldcontrol select {
  background: none !important;
  border: none !important;
  border-radius: var(--radius) !important;
  outline: none !important;
  transition: all 0.5s ease !important;
  padding: 3px !important;
  font-size: 13px !important;
  height: 24px !important;
  line-height: 24px !important;
}

.worldcontrol select:hover {
  background: var(--main-hover) !important;
  border-radius: var(--radius) !important;
  cursor: auto !important;
}

.worldcontrol select option {
  border: 2px solid var(--main-dark) !important;
  background: var(--main-bg) !important;
  box-shadow: none !important;
  font-size: 12px !important;
}

.worldcontrol select option:hover {
  background: var(--main-hover) !important;
  border-radius: var(--radius) !important;
  cursor: auto !important;
}

.leaflet-control-layers-expanded {
  padding: 3px 2px !important;
  font-size: 13px !important;
}

.leaflet-control-layers-base label {
  font-size: 13px !important;
  height: 20px !important;
  line-height: 20px !important;
  padding: 1px 8px 1px 3px !important;
  transition: all 0.5s ease;
}

.leaflet-control-layers-base label span {
  font-size: 13px !important;
}

.leaflet-control-layers-base label span span {
  font-size: 13px !important;
  height: 20px !important;
  line-height: 20px !important;
}

.leaflet-control-layers-base label:hover {
  background: var(--main-hover) !important;
  border-radius: var(--radius) !important;
}

.leaflet-control-layers label {
  font-size: 13px !important;
  height: 20px !important;
  line-height: 20px !important;
  padding: 1px 8px 1px 3px !important;
  transition: all 0.5s ease;
}

.leaflet-control-layers label span {
  font-size: 13px !important;
}

.leaflet-control-layers label span span {
  font-size: 13px !important;
  height: 20px !important;
  line-height: 20px !important;
}

.ov-marker-legend {
  float: right;
  clear: right;
  height: 20px !important;
  margin-left: 18px !important;
}

.leaflet-control-layers label:hover {
  background: var(--main-hover) !important;
  border-radius: var(--radius) !important;
}

.leaflet-control-layers-separator {
  border-top: 2px solid var(--main-dark);
  margin: 4px 0;
}

#terr {
  display: flex;
  flex-direction: row;
  height: 20px !important;
  line-height: 20px !important;
  color: var(--main-color) !important;
  margin: 2px !important;
  margin-right: 3px !important;
  transition: all 0.5s ease !important;
  border-radius: var(--radius);
  cursor: default;
}

#terr:hover {
  background: var(--main-hover);
}

.custom_input {
  display: flex;
  margin: auto 3px !important;
  height: 20px;
}

.custom_input_span {
  line-height: 20px;
  height: 20px;
  font-size: 13px !important;
}

.leaflet-control-attribution:hover,
.link-gmgame a:hover,
.info-link:hover,
.leaflet-control select option:hover,
.worldcontrol select option:hover {
  background: var(--main-hover) !important;
}

.compass {
  background: none !important;
  border: none !important;
}

.coordbox {
  font-size: 12px !important;
  padding: 2px 8px !important;
  border-bottom: none !important;
  border-left: none !important;
  border-radius: 0 !important;
}

.progress {
  font-size: 12px !important;
  border-right: none !important;
  padding: 2px 8px !important;
  min-width: 135px;
  width: auto;
  border-bottom-right-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.leaflet-control-attribution {
  border-bottom: none !important;
  border-right: none !important;
  border-top: none !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  padding: 2px 8px !important;
  transition: all 0.5s ease !important;
  width: 125px;
}

.link-gmgame {
  position: absolute;
  right: 18%;
  top: 1%;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-around !important;
  flex-wrap: wrap;
  width: 110px;
  height: auto;
  background: none !important;
}

.link-gmgame a svg,
.info-link svg {
  width: 65%;
  height: 65%;
  fill: var(--main-color) !important;
  margin: auto !important;
}

.link-gmgame a,
.info-link {
  width: 40px !important;
  height: 40px !important;
  display: flex;
  border: 2px solid var(--main-dark);
  border-radius: var(--radius);
  cursor: pointer;
  background: var(--main-bg) !important;
  transition: all 0.5s ease !important;
  z-index: 99999;
  position: relative;
}

.link-gmgame a::after,
.info-link::after {
  content: attr(data-title);
  display: none;
  right: 65%;
  top: 120%;
  padding: 6px;
  border: 2px solid var(--main-dark);
  position: absolute;
  font-size: 13px;
  min-width: 200px;
  background: var(--main-bg) !important;
  height: auto;
  color: var(--main-color) !important;
  border-radius: var(--radius);
  z-index: 999999;
  transition: all 0.5s ease;
  cursor: pointer;
}

.link-gmgame a:hover::after,
.info-link:hover::after {
  display: inline-block;
}

@media (max-width: 480px) {
  .link-gmgame a::after,
  .info-link::after {
    right: -80%;
    font-size: 13px;
  }
}

@media (max-width: 380px) {
  .link-gmgame a::after,
  .info-link::after {
    right: -120%;
  }
}

.leaflet-popup-content-wrapper {
  border-radius: var(--radius) !important;
  background: var(--main-bg) !important;
}

.leaflet-popup-content {
  font-size: 13px !important;
  margin: 8px 12px !important;
  line-height: 1.25 !important;
}

.leaflet-popup-tip {
  background: var(--main-bg);
}

.leaflet-popup-close-button {
  color: var(--main-color);
  width: 18px !important;
  height: 18px !important;
  font: inherit !important;
  font-size: 14px !important;
}

.preloader {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(1, 22, 37, 0.5);
  z-index: 999999;
}

.preloader__row {
  position: relative;
  top: 50%;
  left: 50%;
  width: 70px;
  height: 70px;
  margin-top: -35px;
  margin-left: -35px;
  text-align: center;
  animation: preloader-rotate 2s infinite linear;
}

.preloader__item {
  position: absolute;
  display: inline-block;
  top: 0;
  background-color: var(--main-bg);
  border-radius: 100%;
  width: 35px;
  height: 35px;
  animation: preloader-bounce 2s infinite ease-in-out;
}

.preloader__item:last-child {
  top: auto;
  bottom: 0;
  animation-delay: -1s;
}

@keyframes preloader-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes preloader-bounce {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}