/*
fp.css 20190118 - updated 20200323 
* Floor Plan custom css for template
*/
/* ShelfMap
================================================== */
html, body {
  height: 100%;
  width: 100%;
  background-color: #FFFFE0;
  overflow: auto;
}

body {
  display: flex;
  flex-flow: column nowrap;
}             
/* the min-width, height and overflow allow it to shrink below content size */
body > header {
  flex: 0.10 1;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

body > main {
  flex: 0.85 1;
}

body > footer {
  flex: 0.05 1;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

a {
  color: #008073;
}


.screen-reader-text {
  position: absolute;
  top: -9999px;
  left: -9999px;
  color: black;
}

div.revtext {
  color: #FFFFFF;
  font-size: small;
}

div#classmarkblurb {
  font-family: 'Source Sans Pro',sans-serif,Georgia,verdana,arial,helvetica, serif;
  color: #040404;
  padding: 6px;
}

span#stacksideid {
  fill: #FFFFFF;
  font-size: x-large;
  color: white;
  background: #009FDA;
  background: -moz-linear-gradient(center top , #cccccc 0%, #009FDA 100%);
  border-style: solid;
  border-color: #3b211c;
  border-width: 2px;
  border-radius: 0px;
}

div#stacksideid {
  color: #FFFFFF;
  font-size: large;
  background: #009FDA;
  background: -moz-linear-gradient(center top , #cccccc 0%, #009FDA 100%);
  border-style: solid;
  border-color: #3b211c;
  border-width: 2px;
  border-radius: 0px;
}

div#buttonmenu {
            /* box for buttons */
  position: absolute;
  opacity: 1.0;
  z-index: 2;
}

img.buttonimage {
  height: 10%;
  width: 5vw;
  overflow: hidden;
  background: #dabf00;
  background: -moz-linear-gradient(left, #dabf00 0%, #dabf0094 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%,#dabf00), color-stop(100%,#dabf0094));
  background: -webkit-linear-gradient(left, #dabf00 0%, #dabf0094 100%);
  background: -o-linear-gradient(left, #dabf00 0%, #dabf0094 100%);
  background: -ms-linear-gradient(left, #dabf00 0%, #dabf0094 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dabf00', endColorstr='#dabf0094',GradientType=1 );
  -ms-filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dabf00', endColorstr='#dabf0094',GradientType=1 );
  background: linear-gradient(to left, #dabf00 0%, #dabf0094 100%);
}

img.buttonimage.active {
  border-width: 3px;
  border-color: #990000;
  border-style: solid;
}

img.buttonimage:focus {
  outline: none;
  box-shadow: 0 0 0 3px black;
}          

        /* call number row in help screen */
div.callnumrow {
  padding: 5px;
}

div#mainimagebox {
  position: relative;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.bibs {
  display: inline;
  border: 1px;
  color: white;
  /*font-size: 10pt;*/
  font-size: calc(12px + (16 - 12) * ((100vw - 300px) / (1600 - 300)));
  font-family: Roboto, Arial, sans-serif;
}

span.biblabel {
  color: white;
  /*font-size: 7pt;*/
  font-size: calc(11px + (16 - 11) * ((100vw - 300px) / (1600 - 300)));
  font-family: 'Source Sans Pro',sans-serif,Georgia,verdana,arial,helvetica, serif;
  font-weight: 500;
}

#bibinfoformat2 .biblabel, #bibinfoformat2 .bibs {
  color: black;
}

div#shelfstackexample {
  background-image: url(../images/bookbg_10_effects_gs_saturation.gif);
}

div#highlightedcall {
  color: #DC1850;
  font-weight: 700;
}

div#slidedetailbayshelf {
  display: inline-block;
  padding: 10%;
}

div#img2drapper, div#imgbayshelfrapper {
  max-height: 100%;
}

div#imgcont2d {
  display: inline;
  padding: 5%;
}

/* new css for bay shelf */
div.bayshelfcontainer {
  position: absolute;
  background-color: mintcream;
  border-radius: .5em;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  transition: all 200ms ease-out;
  padding: 15px 10px 4px 4px;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

div.shelfrow {
  white-space: nowrap;
}

div.shelfcol {
  position: relative;
  display: inline-block;
  height: auto;
}

img.shelfimage {
  max-width: 100%;
  height: auto;
}

#page-mask {
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

span#numbayscss, span#numbaysel, span#numshelfsel, span#numshelfcss {
  display: none;
}

img.scale-with-grid {
  max-width: 100%;
}

span#campxyz, span#sc {
  color: red;
  white-space: nowrap;
}

div.maincont {
  height: 100%;
}

span#canvas_alt {
  position: absolute;
  max-height: 1px;
  max-width: 1px;
  opacity: 0
}
canvas#c {
  position: absolute;
  right: 0;
  left: 0;
  width: 100%;
  height: 85vh;
  z-index: 1;
}

.annotation {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  margin-left: 15px;
  margin-top: 15px;
  padding: 1em;
  width: 200px;
  color: #fff;
  background: rgba(0, 0, 0, 0.8);
  border-radius: .5em;
  font-size: 12px;
  line-height: 1.2;
  transition: opacity .5s;
}

.oncanvas_aisleid {
  position: absolute;
  z-index: 3;
  font-family: 'Source Sans Pro','arial black',sans-serif,Georgia,verdana,arial,helvetica, serif;
  text-align: center;
  vertical-align: middle;
  max-height: 100%;
  font-weight: bold;
  top: 0px;
}

    /* loading spinner */
#loading-screen {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  opacity: 1;
  transition: 1s opacity;
}

#loading-screen.fade-out {
  opacity: 0;
}

#loader {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #9370DB;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

#loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #BA55D3;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}

#loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #FF00FF;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
    /* end loading spinner */
	
div.menu {
  position: absolute;
}
/* brand on exception pages */
div.exceptionpageSMbranding {
  height: 10vh;
}

img.smlogosmall {
  display: none;
}

nav i.mobhelp {
  display: none;
}

#clear {
  opacity: 0;
  float: right;
  position: relative;
  top: -55px;
  transition: opacity 0.2s linear;
}
/* removes extra x in IE search boxes */
input[type=text]::-ms-clear {
  display: none;
}

#footermetacol {
  bottom: 0px;
  max-width: 66vw;
  position: absolute;
  z-index: 3;
}

#qlinkscol {
  display: none;
  top: 0px;
  max-width: 40vw;
  position: relative;
  z-index: 3;
}

.mobile-menu-full {
  background-color: black;
  position: absolute;
  bottom: 0;
  transition: all .3s ease-out;
  border-top-right-radius: 10px;
}

.qlinks-menu-full {
  background-color: transparent;
  position: absolute;
  border-style: solid;
  border-width: 1px;
  border-color: #3b211c;
  padding: 0 .75rem;
  right: 0;
  top: 3px;
  transition: all .3s ease-out;
  border-bottom-left-radius: 10px;
}

.mobile-menu-full--open {
  background-color: black;
  max-height: 50vh;
  padding-bottom: 25px;
  transition: all .3s ease-out;
}

.qlinks-menu-full--open {
  background-color: #6495ED;
  padding-top: 25px;
  max-height: 60vh;
  transition: all .3s ease-out;
}

#copyrightsm {
  position: absolute;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  text-align: right;
  font-family: 'Source Sans Pro',sans-serif,Georgia,verdana,arial,helvetica, serif;
  font-size: 11px;
  /*color: #496C60;*/
  color: #008073;
  z-index: 3;
}

#fullbib, #fullqlinks {
  display: none;
}

#teaserbib, #teaserqlinks {
  display: inline;
  cursor: pointer;
  vertical-align: text-top;
  white-space: nowrap;
  overflow: hidden;
  max-width: 60vw;
  max-height: 10vh;
  text-overflow: ellipsis;
}

.bibteaser {
  margin-left: 5px;
  font-family: Roboto, Arial, sans-serif;
  font-size: 12px;
  color: white;
}

.bibinfo, .qlinksinfo {
  padding: 5px;
  display: inline-block;
}

.closefullbibinfo {
  width: 10%;
  display: inline-block;
}
/* on quick bibs, make full width tap closable strip at bottom */
#fullqlinks > .closefullbibinfo {
  width: 100%;
}

.menuHamburger {
  display: inline-block;
}

.menuHelp {
  display: inline-block;
  max-height: 8vh;
  vertical-align: top;
}

.menuReset {
  display: inline-block;
  padding-left: 10px;
}

.smicon {
  display: inline-block;
  width: 41px;
  height: 41px;
}

.maincont, .maincontcol {
  height: 100%;
  width: 100%;
}

.smcanvas {
  height: 100%;
}

.sidenav li>a {
  padding: 0 5px;
}

nav a.sidenav-trigger {
  display: inline-block;
}
/* reduces space between search box and items */
.searchboxcont {
  line-height: 5px !important;
}

.qlinkslabel {
  white-space: nowrap;
  display: inline;
  font-family: Roboto, Arial, sans-serif;
  font-size: 12px;
  font-stretch: expanded;
}

.maintext, .leftmainmenuwrapper, .rightmainmenuwrapper {
  max-height: 100%;
}

#modelorpic {
  height: 100%;
}

#sitelibrarycol {
  top: 0px;
  font-family: Roboto, Arial, sans-serif;
  font-size: calc(12px + (26 - 12) * ((100vw - 300px) / (1600 - 300)));
  max-width: 50vw;
  position: relative;
  z-index: 3;
}

.sitelibcont {
  position: absolute;
  padding: 0 .75rem;
  right: 0;
  transition: all .3s ease-out;
}

span#smsepfl, span#smseprm {
  display: none;
}

#callnumbox {
  position: absolute;
  display: inline-block;
  float: left;
  padding-right: 1px;
  width: 45%;
}

#lift-sm, #lift-md {
  float: right;
  display: inline-block;
  width: 30%;
}

span.callnumber {
  font-family: Roboto, Arial, sans-serif;
  font-weight: 600;
  color: black;
  position: relative;
  white-space: nowrap;
  font-size: calc(14px + (26 - 14) * ((100vw - 300px) / (1600 - 300)));
}

span.callnumber_small {
  display: none;
}

#liftarrowl, #liftarrowr {
  font-family: Roboto, Arial, sans-serif;
  display: inline-block;
  vertical-align: top;
  /*color: red;*/
  color: #FFFFE0;
  font-weight: 700;
  font-size: calc(28px + (36 - 28) * ((100vw - 300px) / (1600 - 300)));
  text-align: center;
}

#floornumber {
  font-family: Roboto, Arial, sans-serif;
  /*color: black;*/
  color: #FFFFFF;
  display: inline-block;
  font-size: calc(26px + (46 - 26) * ((100vw - 300px) / (1600 - 300)));
  font-weight: 500;
}

#liftctrbox {
  display: inline-block;
  float: right;
  max-height: 10vh;
  white-space: nowrap;
  border-style: double;
  border-color: #a57c29;
  border-width: 2px;
  border-radius: 5px;
  padding: 1px;
  /*background: #e6e6e6;*/
  background: #2D6EE6;
}

#wordingmessage {
  position: relative;
  font-family: Roboto, Arial, sans-serif;
  z-index: 3;
}

.ancillarycont {
  position: absolute;
  font-size: calc(11px + (26 - 11) * ((100vw - 300px) / (1600 - 300)));
  background-color: white;
  border-radius: .5em;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  transition: all 200ms ease-out;
  padding: 15px;
  top: 25px;
  right: 3px;
}

span.ancdesc {
  color: black;
}

.closebox:before {
  content: '✕';
}

.closebox {
  position: absolute;
  font-size: calc(10px + (16 - 10) * ((100vw - 300px) / (1600 - 300)));
  color: red;
  font-weight: bold;
  top: 0;
  right: 2px;
  cursor: pointer;
}

div#callnumberborder {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  background-image: url("../images/book_class.jpg");
  background-size: contain;
  opacity: 0.1;
  background-repeat: repeat;
  background-position: center;
  border: solid;
  border-color: rgb(59,33,28,0.5);
  border-width: 1px;
  border-radius: 0px;
}

nav {
  background-color: #FFFFE0;
  box-shadow: none!important;
}
/* materialize icons except closer */
i.material-icons {
  color: #2D6EE6;
}
/* closer */
.bmnav > i.material-icons {
  color: #191970;
}
.bmnav:focus {
  outline: none;
  box-shadow: 0 0 0 3px red;
}

/* special one for bibs as color differs */
.mobile-menu-full .bmnav > i.material-icons {
  color: white;
}

div.subpagemsg {
   font-family: Roboto, Arial, sans-serif;
   font-size: calc(14px + (18 - 14) * ((100vw - 300px) / (1600 - 300)));
  
}

/* image up down */
.liftarrowanimate {
  -webkit-animation: mover 1s infinite  alternate;
  animation: mover 1s infinite  alternate;
}

@-webkit-keyframes mover {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}

@keyframes mover {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}
/* pulse from https://codepen.io/andreasstorm/pen/ClguF */
.pin {
  width: 30px;
  height: 30px;
  border-radius: 50% 50% 50% 0;
  background: #ff0000;
  position: absolute;
  transform: rotate(-45deg);
  left: 50%;
  top: 50%;
  margin: -20px 0 0 -20px;
  animation-name: bounce;
  animation-fill-mode: both;
  animation-duration: 1s;
  z-index: 2;
}

.pin:after {
  content: '';
  width: 14px;
  height: 14px;
  margin: 8px 0 0 8px;
  background: #2f2f2f;
  position: absolute;
  border-radius: 50%;
}

.pulse {
  background: rgba(255, 0, 0, 1);
  border-radius: 50%;
  height: 14px;
  width: 14px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: 11px 0px 0px -12px;
  transform: rotateX(55deg);
  z-index: 2;
}

.pulse:after {
  content: "";
  border-radius: 50%;
  height: 40px;
  width: 40px;
  position: absolute;
  margin: -13px 0 0 -13px;
  animation: pulsate 1s ease-out;
  animation-iteration-count: infinite;
  opacity: 0;
  box-shadow: 0 0 1px 2px #ff0000;
  animation-delay: 1.1s;
}
/* hide view buttons by default */
img#btov, img#btdt {
	display: none;
}
/*furniture selector in devmode*/
div#selselectdevmode {
	color: white;
        font-size: small;
}
input#modefurnsel {
	opacity: 1;
	position: relative;
}

@-moz-keyframes pulsate {
  0% {
    transform: scale(0.2, 0.2);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}

@-webkit-keyframes pulsate {
  0% {
    transform: scale(0.2, 0.2);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}

@-o-keyframes pulsate {
  0% {
    transform: scale(0.2, 0.2);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}

@keyframes pulsate {
  0% {
    transform: scale(0.2, 0.2);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}

@-moz-keyframes bounce {
  0% {
    opacity: 0;
    transform: translateY(-2000px) rotate(-45deg);
  }

  60% {
    opacity: 1;
    transform: translateY(30px) rotate(-45deg);
  }

  80% {
    transform: translateY(-10px) rotate(-45deg);
  }

  100% {
    transform: translateY(0) rotate(-45deg);
  }
}

@-webkit-keyframes bounce {
  0% {
    opacity: 0;
    transform: translateY(-2000px) rotate(-45deg);
  }

  60% {
    opacity: 1;
    transform: translateY(30px) rotate(-45deg);
  }

  80% {
    transform: translateY(-10px) rotate(-45deg);
  }

  100% {
    transform: translateY(0) rotate(-45deg);
  }
}

@-o-keyframes bounce {
  0% {
    opacity: 0;
    transform: translateY(-2000px) rotate(-45deg);
  }

  60% {
    opacity: 1;
    transform: translateY(30px) rotate(-45deg);
  }

  80% {
    transform: translateY(-10px) rotate(-45deg);
  }

  100% {
    transform: translateY(0) rotate(-45deg);
  }
}

@keyframes bounce {
  0% {
    opacity: 0;
    transform: translateY(-2000px) rotate(-45deg);
  }

  60% {
    opacity: 1;
    transform: translateY(30px) rotate(-45deg);
  }

  80% {
    transform: translateY(-10px) rotate(-45deg);
  }

  100% {
    transform: translateY(0) rotate(-45deg);
  }
}

/* adjust for small screens */
@media screen and (max-width: 640px) and (orientation:portrait) {

  img.smlogo {
    display: none;
  }

  img.smlogosmall {
    display: inline;
    padding-top: 10px;
  }

  nav i.mobhelpstd {
    display: none;
  }

  nav i.mobhelp {
    display: inline;
    font-size: 25px;
    padding-right: 2px;
  }

  span.callnumber_std {
    display: none;
  }

  span.callnumber_small {
    display: inline;
  }

  .bibs > .bibteaser {
    font-size: calc(11px + (14 - 11) * ((100vw - 300px) / (1600 - 300)));
    font-weight: 300;
  }

  nav {
    line-height: 40px;
  }

  #liftctrbox {
    border-style: none;
    background: transparent;
  }

  #liftarrowl, #liftarrowr, #floornumber {
    color: #000000;
  }

  .sitelibcont {
    top: 5px;
  }

  img.buttonimage {
    width: 10vw;
  }

  .ancillarycont {
    top: 35px;
  }

  #sitelibrarycol {
    max-width: 65vw;
  }

  div.bayshelfcontainer {
    padding: 20px 5px 1px 1px;
  }
}


/* landscape on all mobs */
@media screen and (max-width: 767px) and (orientation: landscape) {
  nav i.mobhelpstd {
    display: none;
  }

  nav i.mobhelp, nav .hamburger-trigger > i.material-icons {
    font-size: 20px;
    padding-right: 2px;
    vertical-align: top;
    line-height: 30px;
    display: inline;
  }

  img.smlogo {
    display: none;
  }

  img.smlogosmall {
    display: inline;
  }

  span.callnumber_std {
    display: none;
  }

  span.callnumber_small {
    display: inline;
  }

  #lift-sm, #lift-md {
    line-height: 10vh;
  }

  #liftctrbox, #liftarrowl, #liftarrowr, #floornumber {
    border-style: none;
    background: transparent;
    max-height: 10vh;
  }

  #callnumbox {
    line-height: 30px;
  }

  .closebox {
    font-size: calc(10px + (16 - 10) * ((100vw - 300px) / (1600 - 300)));
  }
}
