.nodisp {
  display: none !important;
}
.bolder {
  text-shadow: 0 0 currentColor;
}

.icon {
  display: inline-block;
  line-height: 0;
  position: relative; /* fine adjustments often needed */
  width: 1em;
  fill: currentColor;
}
.icon [fill] { fill: currentColor; }
.icon [stroke] { stroke: currentColor; }
.icon [fill="none"] { fill: none; }
.icon [stroke="none"] { stroke: none; }

@font-face {
  font-family: icons;
  src: url('icons.woff2?v=8');
}

#box[style] {
  display: block;
  position: absolute;
  border: 2px dashed;
  z-index: 10000;
}

/* Modal dialog; see article by Chris Coyier:
   https://css-tricks.com/considerations-styling-modal/ */
#modal-overlay {
  position: fixed;
  left: 0; top: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  background: rgba(0, 0, 0, 0.5);
}
.modal {
  display: block;
  width: 600px;
  max-width: 100%;
  max-height: 100%;
  position: fixed;
  z-index: 100;
  background: white;
  box-shadow: 0 0 8px 0px rgba(0, 0, 0, 0.6);
  overflow: auto;
  padding: 20px;
}
.modal input[type="password"],
.modal input[type="text"]
{
  border: none;
  width: 100%;
  border-bottom: 2px solid #005B81;
  font-size: 1em;
}
.modal input[type="password"]:focus,
.modal input[type="text"]:focus {
  outline: none;
}

/* hide scrollbars without affecting scrolling */
.no-scrollbars::-webkit-scrollbar {
  display: none;  /* Chrome, Safari and Opera */
}
.no-scrollbars {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;     /* Firefox */
}
.vscroll {
  position: sticky;
  top: 0;
  pointer-events: none;
  z-index: 1;
}
.vscroll * {
  pointer-events: initial;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  box-sizing: content-box;
  min-height: 1.5em;
  width: 3.5px;
  border-left: calc(0.618 * (1.5em - 3.5px)) solid transparent;
  background: rgba(0,0,0,0.5);
  background-clip: content-box;
}
.vscroll *.dragging {
  background-clip: border-box;
}

a.cere, kbd {
  cursor: pointer;
  z-index: 1;
}
#cere_results {
  margin-top: 0.65em;
}
#cere_modal {
  right: 0; top: 0;
  padding: 0 1em;
  width: 21em;
}
#cere_modal.wide {
  min-width: 21em;
  width: 38.2%;
  max-width: 29em;
}
#cere_modal .header {
  position: sticky;
  top: 0;
  padding: 1em 0 0.5em;
  background: #fff;
  box-shadow: 0 0 0.5em 0.5em #fff;
  z-index: 2;
  white-space: nowrap;
}
#cere_modal form {
  /* display: inline-block; */
  /* padding-left: 0.5em; */
  position: absolute;
  right: 1em; top: 1em;
  width: calc(100% - 2.5em);
  max-width: 33ch;
  margin-right: -0.5ch;
}
#cere_modal form input {
  width: 100%;
  line-height: 1.4;
  border-radius: 0;
  margin: 0;
  padding: 0 0.4ch;
}
#cere_modal form input:placeholder-shown {
  font-style: italic;
}
#cere_modal a.clear {
  left: -0.3ch;
}
#cere_modal .nrez {
  font-family: sans;
  font-size: 0.8em;
  position: absolute;
  bottom: -1.35em;
  right: -1.25em;
  padding-left: 0.8ch;
  background: white;
  box-shadow: 0 0.1em 0.5em 0 white;
  border-radius: 1em;
}
#cere_modal a.no_results {
  font-size: 0.9em;
  bottom: 0.05em;
  left: -0.15ch;
}
#cere_modal .busy {
  left: 0.1ch;
}
#cere_modal .qtime {
  font-size: 0.8em;
  vertical-align: sub;
}

#cere_results img {
  float: left;
  max-width: 38.2%;
  margin: .22em .5em 0 0;
  border-radius: 3px;
}
#cere_results p {
  margin-bottom: 0;
}
#cere_results .rez {
  clear: both;
  padding-top: 0.43em;
}
#cere_results .rez ul {
  list-style-type: none;
  margin: 0;
}
#cere_results .rez a:first-of-type:not(.cere) {
  font-weight: bold;
  color: #444444;
}
#cere_results .rez.last::after {
  content: '';
  display: block;
  width: 33%;
  margin: 0 33% 0.9em;
  border-bottom: 1px dotted;
  clear: both;
  padding-top: 0.6em;
}
#cere_results .rez ins { text-decoration: none; }
#cere_results .rez s { display: none; }
#cere_results .sec {
  clear: both;
  padding-top: 1.2em; /* not margin-top */
  font-weight: bold;
  font-style: italic;
  font-size: 1.07em;
}
#cere_results .sec:first-of-type {
  padding-top: 0;
}
#cere_results .sec.eg {
  text-decoration: underline;
}
mark {
  /* font-weight: bold; */
  background: #c9ebffbb;
  border-radius: 1px;
  color: #000;
}
#cere_results mark {
  cursor: pointer;
}
