/* (A) WRAPPER */
#numWrap {
  width: 100%;
  /* height: 100vh; */
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
}
#numWrap.open {
  opacity: 1;
  visibility: visible;
}

/* (B) NUMPAD */
#numPad {
  /* max-width: 60vw; */
  /* max-width: 35%; */
  background: #151515;
  /* margin: 50vh auto 0 auto; */
  margin: 50vh auto 0 auto;
  transform: translateY(-50%);
  padding: 2vh;
}

/* (C) DISPLAY */
#numDisplay {
  box-sizing: border-box;
  width: 100%;
  border: 0;
  padding: 1vh;
  margin-bottom: 1vh;
  background: #000;
  color: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 6vh;
  text-align: right;
}
#numDisplay:focus { outline: none; }
#numDisplay::selection { background: none; }

/* (D) BUTTONS WRAPPER */
#numBWrap {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-gap: 1vh;
}

/* (E) BUTTONS */
#numBWrap div {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 5vh;
  color: #ffffff;
  text-align: center;
  padding: 2vh 0;
}
#numBWrap div:hover { cursor: pointer; }
#numBWrap .num, #numBWrap .zero, #numBWrap .dot { background: #565656; }
#numBWrap .zero { grid-column: span 2; }
#numBWrap .del, #numBWrap .clr { background: #333; }
#numBWrap .cx { background: #940909; }
#numBWrap .ok { background: #115296; }

/* No decimal points allowed */
#numBWrap.noDec .dot { display: none; }
#numBWrap.noDec .zero { grid-column: span 3; }

.animation-up {
  position: relative;
  animation-name: anim_up;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}
@keyframes anim_up {
  from {bottom: -100%;}
  to {bottom: 0%;}
}
.animation-down {
  position: relative;
  animation-name: anim_down;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in;
}
@keyframes anim_down {
  from {bottom: 0%;}
  to {bottom: -100%;}
}
