body {
  max-width: 100%;
  max-height: 100%;
  overflow-x: hidden;
  background-color: #212121;
  color: white;
}

header {
  display: flex;
  justify-items: flex-start;
  align-content: center;
  flex-direction: column;
  flex-wrap: wrap;
}
input {
  border: 1px solid transparent;
  outline: none;

  font-size: 18px;
  padding: 5px;
  height: 60px;
  width: 350px;
  margin-top: 60px;

  border-radius: 5px;
  color: black;
}
datalist {
  position: absolute;
  background-color: black;
  border: 1px solid white;
  border-radius: 0 0 5px 5px;
  border-top: none;
  font-family: sans-serif;
  width: 350px;
  padding: 5px;
  max-height: 10rem;
  overflow-y: auto;
}
option {
  background-color: black;
  padding: 4px;
  color: white;
  margin-bottom: 1px;
  font-size: 18px;
  cursor: pointer;
}
option.active {
  color: white;
}
option.inactive, option.unknown {
  color: #ff0000AA;
}
option.special {
  color: #FFFF00AA;
}
option:hover, .optActive {
  background-color: gray;
}

main {
  display: flex;
  justify-items: flex-start;
  align-content: center;
  flex-direction: column;
  flex-wrap: wrap;
}
.infuser {
  word-break: break-word;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: solid #00ffff88 4px;
  background-color: #00ffff44;
  color: #ffffff88;
  width: 100%;
  height: 55px;
  margin: 6px;
  cursor: pointer;
}
.infuser:hover {
  border: solid #00ffffFF 4px;
  background-color: #00ffff88;
  color: #ffffffFF;
}
.slot {
  word-break: break-word;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: solid #4e4e4e44 4px;
  background-color: #17171744;
  width: 55px;
  height: 55px;
  margin: 6px;
  cursor: pointer;
}
.slot:hover {
  border: solid #acacac44 4px;
  background-color: #4e4e4e44;
}
.waterLine {
  background-color: #0088FFAA;
  width: 4px;
  height: 63px;
  margin-left: 5px;
}

.circle {
  border-radius: 100px;
}

.slot.special {
  border: solid #FFFF0088 4px;
  background-color: #FFFF0044;
}
.slot.special:hover {
  border: solid #FFFF00FF 4px;
  background-color: #FFFF00AA;
}

.slot.active {
  border: solid #4e4e4e 4px;
  background-color: #171717;
}
.slot.active:hover {
  border: solid #acacac 4px;
  background-color: #4e4e4e;
}

div.row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.slot.activeEmpty {
  border: solid #4e4e4e 4px;
  background-color: #171717;
  cursor: default;
}

.slot.inactive {
  border: solid #ff000088 4px;
  color: #ff000044;
}
.slot.inactive:hover {
  border: solid #ff0000ff 4px;
  color: #ff0000aa;
}

.slot.unknown {
  border: solid #ff000088 4px;
  color: #ff000044;
}
.slot.unknown:hover {
  border: solid #ff0000ff 4px;
  color: #ff0000aa;
}

.recipes {
  width: 100%;
  height: 100%;
}

.recipe {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  position: absolute;
  width: 275px;
  font-size: 24px;
  text-align: center;

  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

.recipe > .head {
  cursor: pointer;
  font-size: 24px;

  display: flex;
  justify-content: space-between;
  width: 100%;
  background-color: #000000aa;
}
.recipe > .head > .change {
  background-color: green;
  text-align: center;
  width: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recipe > .head > .change:hover {
  background-color: lightgreen;
}
.recipe > .head > .close {
  background-color: red;
  text-align: center;
  width: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recipe > .head > .close:hover {
  background-color: lightcoral;
}
.recipe > .head > .name {
  width: 100%;
  height: 100%;
  word-break: break-word;
  overflow: hidden;
  max-height: 90px;
}
.recipe > .head > .name:hover {
  background-color: #cacaca88;
}
.recipe > .head > .name > span {
  color: white;
}
.recipe > .head > .close > span {
  color: white;
}

.recipe > .body {
  width: 100%;
  flex: 1;
  max-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: start;
  overflow-y: auto;
  background-color: #00000088;
}
.recipe > .body > .itemRecipe {
  width: 100%;
  height: 100%;
}
.recipeData {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: start;
  align-items: center;
}
.recipeData.noData {
  display: flex;
  align-items: center;
  justify-content: center;
}

a {
  cursor: pointer;
}

.tooltip {
  position: relative;
  display: inline-block;
}
.tooltip .tooltiptext {
  margin-top: 4px;
  visibility: hidden;
  width: 250px;
  background-color: #00000088;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;

  position: absolute;
  z-index: 1;
  white-space: pre-wrap;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
}

.trello {
  background-color: #6495ed;
  color: white;
  border-radius: 8px;
  height: 45px;
  width: 120px;
  font-size: 18px;
  margin-bottom: 5px;
}
