/* Site Navigation */
#mapCont, #mapCont * { z-index: 15; }
#mapCont {  
  width: max-content;
  height: max-content;
  margin: 0 auto;
  position: absolute;
  inset: 0;
  transition: 
    opacity 1s linear,
    transform 1s linear;
}

#mapList {
  padding: 5px;
  width: clamp(28rem, 40vw, 35rem);
  height: clamp(2rem, 2vh, 6rem);
  background: var(--menu-bg);
  align-items: center;
  justify-content: space-around;
  overflow: hidden;
  border-radius: 25px 25px 0 25px;
  box-shadow: 0 0 0 1px var(--menu-shadow);
  list-style-type: none;
  text-wrap: nowrap;
}
@media (max-width: 550px) {
  #mapCont { margin: 0 0 0 60%; }
  #mapList {
    width: 7rem;
    height: 10rem;
    flex-direction: column;
  }
  #mapList > li > hr { 
    height: 1px !important;
    width: 150px !important;
  }
}

#mapList > li {
  font-size: clamp(8px, 5vw, 14px);
}
#mapList a {
  color: var(--menu-text-color);
  font-size: clamp(.85rem, 1vw, 1.125rem);
}
#mapList > li > hr {
  height: 150px;
  width: 1px;
  border: none;
  background-color: var(--menu-shadow);
}

#mapTab {
  width: 25px;
  height: 25px;
  padding: 5px;
  background: var(--menu-bg);
  border-radius: 0 0 25% 25%;
  box-shadow:
    1px 0 0 0 var(--menu-shadow),
    -1px 0 0 0 var(--menu-shadow),
    0 -1px 0 0 rgba(0, 0, 0, 0),
    0 1px 0 0 var(--menu-shadow);
  display: flex;
  align-self: end;
  font-size: 25px;
  overflow: hidden;
}

#mapTab > div {
  transform: scaleY(-1);
}

#mapTab * {
  width: 25px;
  height: 25px;
}

#mapTab > div > * {
  fill: var(--dropdown-svg);
}

/* Theme Picker */
#themeCont {
  width: max-content;
  height: max-content;
  margin: auto 0;
  position: absolute;
  inset: 0;
  transition: 
    opacity 1s linear,
    transform 1s linear;
}

#themePicker, #themePicker * { z-index: 15; }
#themePicker {
  width: clamp(15rem, 15vw, 250px);
  height: clamp(17rem, 26vh, 20rem);
  background: var(--menu-bg);
  justify-content: start;
  align-items: center;
  border-radius: 25px 0 25px 25px;
  box-shadow: 0 0 0 1px var(--menu-shadow);
  z-index: 10;
}

#themePicker > fieldset {
  padding: 13px 0 0 0;
}

#themeTab {
  width: 25px;
  height: 25px;
  padding: 5px;
  background: var(--menu-bg);
  border-radius: 25% 25% 0 0;
  box-shadow:
    1px 0 0 0 var(--menu-shadow),
    -1px 0 0 0 var(--menu-shadow),
    0 1px 0 0 rgba(0, 0, 0, 0),
    0 -1px 0 0 var(--menu-shadow);
  z-index: 10;
  transform: rotate(90deg);
}

#themeTab * {
  width: 25px;
  height: 25px;
}

#themeTab > div > * {
  fill: var(--dropdown-svg);
}

#contrPicker div { padding: 0 25px 0 25px; }
#contrPicker div * {
  width: 25px;
  height: 25px;
}

#contrPicker .contrTheme:nth-child(1) {
  margin: 10px 0 10px 10px;
  padding: 5px;
  display: block;
  border-radius: 25px 0 0 25px;
  border-style: solid none solid solid;
  border-width: 2px;
  border-color: var(--menu-shadow);
}

#contrPicker .contrTheme:nth-child(2) {
  margin: 10px 10px 10px 0;
  padding: 5px;
  display: block;
  border-radius: 0 25px 25px 0;
  border-style: solid;
  border-width: 2px;
  border-color: var(--menu-shadow);
}

.contrTheme > div * { fill: var(--menu-shadow); }
.contrTheme:has(input[type="radio"]:checked){ background: var(--dropdown-svg); }
.contrTheme:has(input[type="radio"]:checked) > div * { fill: var(--menu-bg); }


#monthPicker {
  width: 10em;
  height: 10em;
  justify-content: space-between;
}

#monthPicker > div {
  justify-content: space-between;
}

#monthPicker label {
  margin: 5px;
}

.monthTheme {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  color: var(--menu-text-color);
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: clamp(.85rem, 1vw, 1.125rem);
}
.monthTheme > input {
  width: inherit;
  height: inherit;
}
.monthTheme:has(input[type="radio"]:checked){ font-weight: bold; }

#refreshTheme {
  padding: 1rem 0;
  display: block;
  position: relative;
  color: var(--menu-text-color);
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Fixed Background */
#bgFixed {
  width: 100vw;
  height: 100vh;
  background-color: var(--bg);
  position: fixed;
  z-index: -1;
}