html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

#map {
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
}


/* ******************** */

.leaflet-bar button {
  background: #f4f4f4;
  border: none;
  box-shadow: none;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
}

.leaflet-bar button:hover {
  background-color: #209CEE;
  box-shadow: none;
}

/* Favicon styling */
#faviconContainer {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
}

#faviconContainer img {
  width: 48px;
  height: auto;
}

#google a {
  text-decoration: none;
}

#what3words a {
  text-decoration: none;
}

/* ******************** */

#selectContainer {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  padding: 11px 0;
}

#countrySelect {
  width: 200px;
  margin: 0 auto;
}

/* ******************** */

#preloader {
  display: none;  /* start hidden */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #f2f2f2;
  border-top: 6px solid #56829e ;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}

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

.fadeOut {
visibility: hidden;
opacity: 0;
transition: visibility 0s 1s, opacity 1s linear;
}

/* ******************** */

.input-output-container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10px; 
  margin-top: 10px;
  align-items: center;
  width: 100%;
}

.input-row {
  display: flex;
  justify-content: space-between;
  gap: 10px; 
  width: 100%;
}

.label-row {
  display: flex;
  width: 100%;
  gap: 10px; 
  justify-content: center;
}

.box-container {
  display: inline-block;
  margin-bottom: 5px;
  padding: 5px;
  width: 100px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.box {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 10px;
  width: 48%;
  min-height: 30px; 
}

.footer {
  position: fixed;
  bottom: 0;
}
