:root {
  --tag-height: 1.4vw;
}

#technologyHeader {
  margin-top: 2vw;
  margin-bottom: 2vw;
  padding: 1.2vw;
  display: flex;
  align-items: center;
  border-radius: 0.8vw;
  background-color: rgba(5, 30, 37, 0.9);
}

#searchStringInput {
  width: 23.3vw;
  height: 2.7vw;
  margin-right: 2vw;
  padding: 1.2vw;
  font-size: 1.1vw;
  border-radius: 0.8vw;
  font-family: "Roboto";
  font-weight: 500;
}

#technologyList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 5vw;
  row-gap: 5vw;
}

#technologyList li {
  display: block;
}

/* TODO Style list properly when it has less elements than set columns */
.card {
  width: 22vw;
  height: 14vw;
  padding: 1.2vw;
  text-align: left;
  font-size: 1.5vw;
}

.cardTechnologyName {
  text-align: right;
}

.tag {
  height: var(--tag-height);
  margin-left: 0.2vw;
  padding-left: 0.5vw;
  padding-right: 0.5vw;
  line-height: var(--tag-height);
  border-radius: calc(var(--tag-height) / 2);
  font-size: 0.9vw;
  color: var(--default-low-contrast-color);
  background-color: var(--default-body-background-color);
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.tag:first-of-type {
  margin-left: 0vw;
}

.cardTagList .tag:first-of-type {
  margin-left: 0vw;
}

.tag:hover {
  color: black;
  background-color: var(--default-link-hover-color);
}

.cardTagList, #filterTagList {
  display: flex;
  justify-content: flex-end;
}

.tag .tagX {
  width: var(--tag-height);
  height: var(--tag-height);
  display: inline-block;
  border-radius: calc(var(--tag-height) / 2);
  color: black;
  background-color: var(--default-link-color);
}

.tag:hover .tagX {
  background-color: transparent;
}

#filterTagList .tag {
  padding-right: 0vw;
}

.barDisplay {
  height: 2vw;
  font-size: 0.9vw;
  color: var(--default-low-contrast-color);
  border-radius: calc(var(--tag-height) / 4);
}

.barDisplay:hover {
  color: var(--default-link-hover-color);
}

.bar {
  width: 100%;
  height: 0.5vw;
  display: flex;
  align-items: center;
}

.barDiv {
  flex-grow: 1;
  margin-right: 2%;
  height: calc(1.5 * var(--default-width-unit));
  background-color: var(--default-lower-contrast-color);
}

.barDiv::after {
  width: var(--bar-div-fill);
  height: 100%;
  display: block;
  background-color: var(--default-link-color);
  content: "";
}

.barDisplay:hover .barDiv::after {
  background-color: var(--default-link-hover-color);
}

.barDiv:last-child {
  margin-right: 0%;
}

/* TODO Hide bottom of the list at first and show only the elements that fit on the screen. Give the
  user options to load more items. The "(Show|Load) more [items]" control should be clearly labeled
  and should hover above the elements (i.e. the elements should fade behind the control). There
  should also be an option to show all. */