/* */
/* additonal themes */
/* */
[data-theme=apricot],
.theme-apricot {
  --bulma-scheme-h: 33;
  --bulma-scheme-s: 77%;
  --bulma-scheme-main-l: 86%;
  --bulma-border-l: 66%;
}
[data-theme=apricot] .control,
.theme-apricot .control,
[data-theme=apricot] .input,
.theme-apricot .input,
[data-theme=apricot] .select,
.theme-apricot .select,
[data-theme=apricot] .textarea,
.theme-apricot .textarea {
  --bulma-input-color-l: 0%;
  --bulma-input-background-l-delta: 100%;
}
[data-theme=glacier],
.theme-glacier {
  --bulma-scheme-h: 208;
  --bulma-scheme-s: 37.7%;
  --bulma-scheme-main-l: 64.1%;
  --bulma-border-l: 44.1%;
}
[data-theme=glacier] .control,
.theme-glacier .control,
[data-theme=glacier] .input,
.theme-glacier .input,
[data-theme=glacier] .select,
.theme-glacier .select,
[data-theme=glacier] .textarea,
.theme-glacier .textarea {
  --bulma-input-color-l: 0%;
  --bulma-input-background-l-delta: 100%;
}
[data-theme=celadon],
.theme-celadon {
  --bulma-scheme-h: 123;
  --bulma-scheme-s: 47%;
  --bulma-scheme-main-l: 78%;
  --bulma-border-l: 58%;
}
[data-theme=celadon] .control,
.theme-celadon .control,
[data-theme=celadon] .input,
.theme-celadon .input,
[data-theme=celadon] .select,
.theme-celadon .select,
[data-theme=celadon] .textarea,
.theme-celadon .textarea {
  --bulma-input-color-l: 0%;
  --bulma-input-background-l-delta: 100%;
}
/* */
/* control styling ( for the items not handled by bulma ) */
/* */
dialog {
  border-radius: 8px;
  max-width: 650px;
  width: 92%;
}
dialog::backdrop {
  backdrop-filter: blur(2px);
}
details.select {
  border: 1px solid var(--bulma-border);
  border-radius: 4px;
}
details.select > summary {
  padding: 8px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}
details.select > summary::-webkit-details-marker {
  display: none;
}
details.select > summary + div {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  border: 1px solid var(--bulma-border);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 8px;
  z-index: 100;
  margin-top: 2px;
}
/* */
/* isl controls */
/* */
/*isl menu*/
.menu,
.menu .submenu {
  background-color: var(--bulma-scheme-main-ter);
}
/*isl tabview */
.tabview .nav {
  margin-bottom: 0 !important;
}
.tabview .content {
  position: relative;
}
.tabview.is-boxed .nav li.node.node-selected span {
  background-color: var(--bulma-body-background-color) !important;
}
.tabview.is-boxed .nav {
  background-color: var(--bulma-scheme-main-bis) !important;
}
/* isl diaryview */
.diaryview {
  background-color: #0000001f;
}
.diaryview .bar {
  background-color: var(--bulma-body-background-color);
}
.diaryview .calendar-header {
  background-color: var(--bulma-skeleton-background) !important;
}
.diaryview .calendar-cell {
  background-color: hsl(from var(--bulma-scheme-main-ter) h s l / 0.85) !important;
}
.diaryview .calendar-event {
  background-color: var(--bulma-body-background-color) !important;
}
.diaryview .calendar-event:hover {
  box-shadow: 0 0 1px 2px !important;
}
/* */
/* bulma controls */
/* */
/* table */
.table {
  background-color: #0000001f;
}
.table thead {
  background-color: var(--bulma-scheme-main-bis) !important;
}
.table tfoot {
  background-color: var(--bulma-scheme-main-bis) !important;
}
.table.is-striped tbody tr:not(.is-selected):nth-child(even) {
  background-color: hsl(from var(--bulma-scheme-main-ter) h s l / 0.85);
}
.table.is-striped tbody tr:not(.is-selected):nth-child(odd) {
  background-color: hsl(from var(--bulma-scheme-main-ter) h s l / 0.55);
}
/* menu */
.menu-list a:hover,
.menu-list button:hover,
.menu-list .menu-item:hover {
  background: var(--bulma-background-hover);
}
/* */
/* general helpful things */
/* */
.is-inverted {
  filter: invert(1);
}
label.is-fullwidth,
span.is-fullwidth,
iframe.is-fullwidth,
img.is-fullwidth,
canvas.is-fullwidth,
object.is-fullwidth,
div.is-fullwidth {
  width: 100%;
  width: stretch;
}
label.is-fullheight,
span.is-fullwidth,
iframe.is-fullheight,
img.is-fullheight,
canvas.is-fullheight,
object.is-fullheight,
div.is-fullheight {
  height: 100%;
  height: stretch;
}
.is-bottom {
  z-index: -1;
}
/* width by characters ( mostly used for table headers ) */
.has-width-1 {
  min-width: 3ch;
}
.has-width-2 {
  min-width: 6ch;
}
.has-width-3 {
  min-width: 12ch;
}
.has-width-4 {
  min-width: 24ch;
}
.is-width-1 {
  width: 3ch;
}
.is-width-2 {
  width: 6ch;
}
.is-width-3 {
  width: 12ch;
}
.is-width-4 {
  width: 24ch;
}
/* negative margins */
.mt--0 {
  margin-top: 0;
}
.mt--1 {
  margin-top: -0.25rem;
}
.mt--2 {
  margin-top: -0.5rem;
}
.mt--3 {
  margin-top: -0.75rem;
}
.mt--4 {
  margin-top: -1rem;
}
.mt--5 {
  margin-top: -1.5rem;
}
.mt--6 {
  margin-top: -3rem;
}
/* Actual Site Layout */
html,
body {
  height: 100%;
  overflow: hidden;
}
body {
  display: grid;
  grid-template-rows: 3rem auto 1.5rem;
}
body.is-main-only {
  grid-template-rows: auto;
}
header {
  padding-block: 1.5rem;
  padding-inline: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: calc(1.5rem - 0.25rem);
  background-color: #00000070 !important;
}
header .logo {
  max-height: 1.5rem;
}
header .primary-nav {
  flex: 1;
  display: flex;
  justify-content: end;
  gap: 1rem;
  font-size: calc(1.5rem / 2);
}
header .nav-item {
  background-color: transparent !important;
  text-decoration: none !important;
  color: hsl(0, 0%, 86%) !important;
}
header .nav-item:hover {
  color: hsl(0, 0%, 96%) !important;
}
main {
  overflow: hidden;
}
footer {
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 0.75rem;
  background-color: #00000014 !important;
}
.emblem {
  background-image: url("/assets/a10opacity15.png");
  background-repeat: no-repeat;
  background-size: auto 70%;
  background-position: 50% 80%;
  background-attachment: fixed;
}
thead {
  z-index: 1000;
}
.inline-text,
.inline-select,
.inline-date {
  /* Remove default appearance */
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  /* Force text behavior */
  font: inherit;
  /* Inherit font size and family from <td> */
  vertical-align: baseline;
  /* Align with surrounding text */
  display: inline-block;
  /* Take minimal height */
  height: auto;
  line-height: inherit;
}
.inline-select:hover,
.inline-date:hover {
  border-bottom: 1px dashed #999;
}
.inline-select:hover,
.inline-date:focus {
  outline: none;
  border-bottom: 1px solid #000;
}
.inline-date::-webkit-datetime-edit {
  padding: 0;
  line-height: 1;
  /* Prevents input from being taller than text */
}
.inline-date:invalid {
  opacity: 0.5;
  color: rgba(0, 0, 0, 0.4);
}
td.changed {
  background-color: #FFA300 !important;
}
.is-corner-right {
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.is-corner-left {
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.icon.is-clickable:not(.button):hover {
  font-weight: 700;
}
textarea.is-auto-height {
  field-sizing: content;
  resize: none;
  height: auto;
}
textarea.is-auto-minheight {
  min-height: auto !important;
}
img::after {
  content: "failed to load \A'" attr(alt) "'\A" / "";
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
  border: 2px dashed;
  font: bold 1.6em/1.5 system-ui;
  white-space: pre-wrap;
}
.field[data-code="photos"]:has(audio) .control[data-code] {
  display: flex;
  min-height: 4rem;
}
.field[data-code="photos"]:has(audio) audio {
  align-self: center;
  width: calc(100% - 4rem);
}
.field[data-code="documents"]:has(a) .control[data-code] {
  display: flex;
  min-height: 4rem;
}
.field[data-code="documents"]:has(a) a {
  align-self: center;
}
input[type="datetime-local"]::-webkit-datetime-edit {
  position: absolute;
}
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 1rem;
}
[data-code='adaptationList']:has(select:required:valid) [data-code='adaptationText'] {
  display: none;
}
select:invalid {
  color: var(--bulma-input-placeholder-color);
}
select option[value=""] {
  color: var(--bulma-input-placeholder-color);
}
select option {
  color: initial;
}
.undo-button {
  position: absolute;
  background-color: var(--bulma-info);
  border-radius: 1rem;
  text-align: center;
  z-index: 1000;
}
.delete-button {
  z-index: 1000;
}
.clear-button {
  z-index: 1000;
}
@keyframes success-flash {
  0% {
    background-color: hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-background-l) + var(--bulma-input-background-l-delta)));
  }
  20% {
    background-color: #d4edda;
  }
  100% {
    background-color: hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-background-l) + var(--bulma-input-background-l-delta)));
  }
}
.success-flash {
  animation: success-flash 1.5s ease-out;
}
@keyframes fail-flash {
  0% {
    background-color: hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-background-l) + var(--bulma-input-background-l-delta)));
  }
  20% {
    background-color: #edd4d4;
  }
  100% {
    background-color: hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-background-l) + var(--bulma-input-background-l-delta)));
  }
}
.fail-flash {
  animation: fail-flash 1.5s ease-out;
}
