body {
  font-family: "Roboto", sans-serif;
}

.loadingOverlay {
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  justify-items: center;
  flex-direction: column;
  text-align: center;
  color: white;
  background-color: #2958de;
  -webkit-text-stroke: 0.5px black;
}

#location {
  position: inherit;
  bottom: 10px;
  width: 100%;
  text-align: center;
  color: white;
  font-weight: bolder;
}

.overlay {
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 100;
}

.buttonContainer {
  display: flex;
  justify-items: center;
  justify-content: space-between;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.logo {
  position: fixed;
  font-size: large;
  text-align: left;
  color: #2958de;
  -webkit-text-stroke: 0.5px white;
  font-weight: 600;
  top: 10px;
  left: 10px;
}

.routeContainer {
  position: inherit;
  bottom: -170px;
  left: 0;
  width: 100%;
  height: 170px;
  display: flex;
  flex-direction: column;
  background-color: #2958de;
  padding: 8px 16px;
  box-sizing: border-box;
  border-radius: 16px 16px 0 0;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.routeLine {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

.routeItem {
  margin: 8px 0;
  width: 45%;
  color: black;
  border: none;
  padding: 4px;
  border-radius: 6px;
  font-size: medium;
  text-decoration: none;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: large;
  border: 2px solid black;
  background-color: white;
}
.routeItem:active {
  color: white;
  border: 2px solid white;
  background-color: black;
}

.activeRoute {
  color: white;
  border: 2px solid white;
  background-color: black;
}

.arrow {
  color: white;
}

.routeName {
  position: inherit;
  font-weight: bolder;
  bottom: 50px;
  width: 100%;
  text-align: center;
  color: #2958de;
  -webkit-text-stroke: 0.5px white;
  font-size: larger;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.transform-routeName {
  bottom: 220px;
}

.collapseButton {
  background-color: #2958de;
  color: white;
  border: none;
  border-radius: 8px 8px 0 0;
  padding: 8px;
  position: fixed;
  width: 60px;
  align-items: center;
  left: calc(50% - 30px);
  bottom: 0px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.collapseButton:focus {
  outline: none;
  box-shadow: none;
}

.transform-button {
  bottom: 170px;
}

.transform-container {
  bottom: 0;
}

#arrowIcon {
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.transform-icon {
  transform: rotate(180deg);
}

/* Loader */

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Switch */

.languageButtonContainer {
  position: inherit;
  bottom: 10px;
  left: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.languageLabel {
  color: #2958de;
  -webkit-text-stroke: 0.5px white;
}

.soundButtonContainer {
  position: inherit;
  bottom: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.soundLabel {
  color: #2958de;
  -webkit-text-stroke: 0.5px white;
}

.activeSetting {
  -webkit-text-stroke: 0.5px black !important;
}

input[type="checkbox"] {
  width: 0;
  height: 0;
  visibility: hidden;
}

#labelSound {
  width: 42px;
  height: 20px;
  display: block;
  background-color: black;
  border-radius: 15px;
  position: relative;
  cursor: pointer;
  transition: 0.5s;
  border: 0.8px solid #ffffff;
  box-shadow: 0 0 2px #109b06;
}
#labelSound::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #2958de;
  position: absolute;
  border-radius: 7px;
  top: 3px;
  left: 3px;
  transition: 0.5s;
}

#switchSound:checked + #labelSound:after {
  left: calc(100% - 3px);
  transform: translateX(-100%);
}

#switchSound:checked + #labelSound {
  background-color: black;
}

#labelSound:active:after {
  width: 18px;
}

#labelLanguage {
  width: 42px;
  height: 20px;
  display: block;
  background-color: black;
  border-radius: 15px;
  position: relative;
  cursor: pointer;
  transition: 0.5s;
  border: 0.8px solid #ffffff;
  box-shadow: 0 0 3px #109b06;
}
#labelLanguage::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #2958de;
  position: absolute;
  border-radius: 7px;
  top: 3px;
  left: 3px;
  transition: 0.5s;
}

#switchLanguage:checked + #labelLanguage:after {
  left: calc(100% - 3px);
  transform: translateX(-100%);
}

#switchLanguage:checked + #labelLanguage {
  background-color: black;
}

#labelLanguage:active:after {
  width: 18px;
}
