.mod_glossary .glossary-letters, .mod_glossary .glossary-categories, .mod_glossary_by_categories .glossary-letters, .mod_glossary_by_categories .glossary-categories {
  display: flex;
  justify-content: space-between;
  margin: 2rem 0;
}
.mod_glossary .glossary-letters > li, .mod_glossary .glossary-categories > li, .mod_glossary_by_categories .glossary-letters > li, .mod_glossary_by_categories .glossary-categories > li {
  transition: all 0.2s ease-out;
  cursor: pointer;
}
.mod_glossary .glossary-letters i:last-of-type, .mod_glossary .glossary-categories i:last-of-type, .mod_glossary_by_categories .glossary-letters i:last-of-type, .mod_glossary_by_categories .glossary-categories i:last-of-type {
  display: none;
}
.mod_glossary > div > .glossary-index, .mod_glossary_by_categories > div > .glossary-index {
  position: absolute;
}
.mod_glossary > div > .glossary-item, .mod_glossary_by_categories > div > .glossary-item {
  overflow: hidden;
  margin-bottom: 1rem;
  transition: all 0.2s ease-out;
  margin-left: 2rem;
  cursor: pointer;
}
.mod_glossary > div > .glossary-item > .glossary-title, .mod_glossary_by_categories > div > .glossary-item > .glossary-title {
  margin-bottom: 0.2rem;
}

form input[name^=hp_] {
  display: none;
}

input[name=hp_name] {
  display: none;
}

form {
  transition: all 0.2s ease;
}
form.loading {
  opacity: 0.5;
  pointer-events: none;
}

.widget {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}
.widget.error {
  color: red;
}
.widget.valid {
  color: limegreen;
}
.widget .help > .help-content p {
  margin: 0;
}

.widget-auto-select .options {
  margin: 0;
  padding: 1rem;
  max-height: 10rem;
  list-style: none;
  display: none;
}
.widget-auto-select .options.active {
  display: block;
}
.widget-auto-select .options > li {
  cursor: pointer;
}
.widget-auto-select .options > li.hidden {
  display: none;
}

.widget-upload .input {
  position: relative;
  cursor: pointer;
}
.widget-upload .input input.file-placeholder {
  position: absolute;
  inset: 0;
}
.widget-upload .input input[type=file] {
  opacity: 0;
  width: 100%;
  cursor: pointer;
}
.widget-upload .input .input-button {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translate(0, -50%);
  cursor: pointer;
  pointer-events: none;
}

.widget-select .input {
  cursor: pointer;
  position: relative;
}
.widget-select .input.focus .selected-option {
  outline: 2px solid black;
}
.widget-select .input select {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 100vw;
}
.widget-select .input .selected-option {
  background: field;
  color: fieldtext;
  border: 1px solid #767676;
  border-radius: 2px;
}
.widget-select .input .options {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  background: white;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  border: 1px solid #767676;
  border-top: none;
}
.widget-select .input .options.active {
  height: fit-content;
  max-height: 10rem;
  border-radius: 2px;
  pointer-events: all;
  opacity: 1;
}
.widget-select .input .options li {
  list-style: none;
}
.widget-select .input .options .option[data-selected] {
  color: grey;
}
.widget-select .input .options .option.hover {
  background: #0078d7;
  color: white;
}

