body {
  overflow-x: hidden;
  overflow-y: hidden;
  margin: 0;
  padding: 0;
}

/* Tooltip container */
.hasTooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}

/* Tooltip text */
.hasTooltip .tooltiptext {
  font-family: 'Inter Tight', sans-serif;
  visibility: hidden;
  
  background-color: #404040;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  font-size: 10pt;

  position: absolute;
  z-index: 100;

  bottom: 120%;
  left: 50%;

  width: 6.4em;
  margin-left: -3.2em;
  
  cursor: default;
  pointer-events: none;
}

.hasTooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #404040 transparent transparent transparent;
}

.hasTooltip:hover .tooltiptext {
  visibility: visible;
}

@media screen and (min-width: 896px) {
  .logoElement {
    width: 120px;
    position: absolute;
    top: 1%;
    left: 1%;
    z-index: 1000;
    padding: 0;
    margin-left: 0.25em;
    margin-top: 0.4em;
    display: block;
    -webkit-user-drag: none;
    pointer-events: none;
  }

  .logoElement img {
    width: 120%;
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media screen and (max-width: 896px) {
  .logoElement {
    width: 100px;
    position: absolute;
    top: 1%;
    left: 1%;
    z-index: 1000;
    padding: 0;
    margin: 0.25em;
    display: block;
    -webkit-user-drag: none;
    pointer-events: none;
  }

  .logoElement img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
  
@media screen
{
  .waitElement {
    width: 128px;
    height: 128px;
    position: absolute;
    top: 0px;
    right: 0;
    z-index: 5;
    padding: 0;
    margin: 0;
    display: block;
    -webkit-user-drag: none;
    pointer-events: none;
  }

  .waitElement img {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media print
{
  .waitElement {
    display: none !important;
  }
  
  .logoElement {
    display: none !important;
  }
}

.hidden {
  visibility: hidden;
}

.helpIcon {
  width: 1.3em;
  height: 1.3em;
  vertical-align: middle;
  margin-right: 0.5em;
}

.navHelpIcon {
  width: 3em;
  height: 3em;
  vertical-align: middle;
  margin-right: 0.5em;
}

.helpTitle {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

.helpText {
  margin-top: 0.5em;
}

/* Not sure why but this removes focus border from OpenSeadragon viewer */
.openseadragon-canvas:focus {
  outline: none;
}

.locked {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: 'Inter Tight', sans-serif;
  font-size: 12pt;
  border: 1px solid black;
  padding: 2em;
}

.script-wait-spinner {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: -2;
}

.script-wait-spinner img {
  position: absolute;
  margin: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}