@font-face {
  font-family: 'Calibri';
  src: url("./../assets/calibri.ttf"); }

* {
  box-sizing: border-box;
  touch-action: none;
  -moz-user-select: none;
  /* Firefox 2+ */
  -ms-user-select: none;
  /* IE 10+ */
  user-select: none;
  /* Standard syntax */ }

html, body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  font-family: 'Calibri';
  background: #222222;
  color: #ffffff; }

.menu {
  position: fixed;
  display: block;
  top: 10px;
  left: 10px;
  width: 140px;
  height: 550px;
  opacity: 0.85;
  pointer-events: none;
  z-index: 200; }

.menu__button {
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  background: #ffffff;
  opacity: 0.0;
  cursor: pointer;
  transition: all 300ms ease-out;
  border-bottom: 1px solid #808080;
  color: #222222;
  font-size: 16px;
  line-height: 50px;
  text-align: center;
  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.7);
  pointer-events: all; }

.menu__button:nth-child(3) {
  transition-delay: 50ms; }

.menu__button:nth-child(4) {
  transition-delay: 100ms; }

.menu__button:nth-child(5) {
  transition-delay: 150ms; }

.menu__button:nth-child(6) {
  transition-delay: 200ms; }

.menu__button:nth-child(7) {
  transition-delay: 250ms; }

.menu__button:nth-child(8) {
  transition-delay: 300ms; }

.menu__button:nth-child(9) {
  transition-delay: 350ms; }

.menu__button:nth-child(10) {
  transition-delay: 400ms; }

.menu__button:nth-child(11) {
  transition-delay: 450ms; }

.menu__button:nth-child(12) {
  transition-delay: 500ms; }

.menu__button:last-child {
  border-radius: 0 0 3px 3px;
  border: none; }

.menu__open-button {
  border-radius: 3px;
  opacity: 1.0;
  z-index: 10; }
  .menu__open-button .hamburger {
    width: 30px;
    height: 2px;
    background: #222222;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -15px;
    margin-top: -1px;
    transition: transform ease-out 300ms; }
  .menu__open-button .hamburger-1 {
    transform: translate3d(0, -400%, 0); }
  .menu__open-button .hamburger-2 {
    transform: translate3d(0, 0, 0); }
  .menu__open-button .hamburger-3 {
    transform: translate3d(0, 400%, 0); }

.menu.open .menu__open-button {
  border-radius: 3px 3px 0 0; }

.menu.open .hamburger-1 {
  transform: translate3d(0, 0, 0) rotate(45deg); }

.menu.open .hamburger-2 {
  transform: translate3d(0, 0, 0) scale(0.1, 1); }

.menu.open .hamburger-3 {
  transform: translate3d(0, 0, 0) rotate(-45deg); }

.menu.open .menu__button {
  width: 140px;
  opacity: 1.0; }

.menu.open .menu__button:nth-child(3) {
  transform: translate3d(0px, 50px, 0px); }

.menu.open .menu__button:nth-child(4) {
  transform: translate3d(0px, 100px, 0px); }

.menu.open .menu__button:nth-child(5) {
  transform: translate3d(0px, 150px, 0px); }

.menu.open .menu__button:nth-child(6) {
  transform: translate3d(0px, 200px, 0px); }

.menu.open .menu__button:nth-child(7) {
  transform: translate3d(0px, 250px, 0px); }

.menu.open .menu__button:nth-child(8) {
  transform: translate3d(0px, 300px, 0px); }

.menu.open .menu__button:nth-child(9) {
  transform: translate3d(0px, 350px, 0px); }

.menu.open .menu__button:nth-child(10) {
  transform: translate3d(0px, 400px, 0px); }

.menu.open .menu__button:nth-child(11) {
  transform: translate3d(0px, 450px, 0px); }

.menu.open .menu__button:nth-child(12) {
  transform: translate3d(0px, 500px, 0px); }

.zoomButton {
  position: absolute;
  display: block;
  right: 10px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #ffffff;
  border-radius: 3px;
  font-size: 30px;
  cursor: pointer;
  color: black;
  box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.7);
  opacity: 0.85;
  z-index: 200; }
  .zoomButton.zoomIn {
    top: 10px; }
  .zoomButton.zoomOut {
    top: 70px; }

.mainarea {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #222222;
  overflow: hidden;
  z-index: 0; }

.wiwu-drawing {
  display: block;
  transform-origin: left top;
  pointer-events: none;
  image-rendering: -webkit-optimize-contrast;
  /* Webkit (non-standard naming) */ }
  .wiwu-drawing.pixelated {
    image-rendering: pixelated; }

.statusbar {
  position: fixed;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background: #ffffff;
  opacity: 0.85;
  color: #000000;
  box-shadow: 0px -2px 15px rgba(0, 0, 0, 0.7);
  z-index: 199; }

.statusbar__layername {
  display: block;
  position: absolute;
  left: 10px;
  top: 0;
  width: 50%;
  height: 100%;
  text-align: left; }

.statusbar__zoomfactor {
  display: block;
  position: absolute;
  right: 10px;
  top: 0;
  width: 50%;
  height: 100%;
  text-align: right; }

.measure-svg {
  display: block;
  position: fixed;
  z-index: 100;
  pointer-events: none; }
  .measure-svg .circle {
    fill: none;
    stroke: #ff4444;
    stroke-width: 2px; }
  .measure-svg .line {
    fill: none;
    stroke: #ff4444;
    stroke-width: 2px; }
  .measure-svg .text {
    fill: #ff4444; }

.popup {
  position: fixed;
  top: 25%;
  left: 25%;
  width: 50%;
  height: 30%;
  background: #ffffff;
  border-radius: 10px;
  opacity: 0;
  z-index: 300;
  transform: translate3d(0px, 0px, 0px) scale(0.1, 0.1);
  transition: all 200ms ease-out;
  pointer-events: none; }
  .popup.open {
    opacity: 0.85;
    transform: translate3d(0px, 0px, 0px) scale(1, 1); }

.popup__icon {
  display: block;
  width: 100%;
  height: 70%;
  background-repeat: no-repeat;
  background-size: 20%;
  background-position: center center; }

.popup--imageload .popup__icon {
  background-image: url("../assets/wait-icon.png"); }

.popup--error .popup__icon {
  background-image: url("../assets/error-icon.png"); }

.popup__text {
  display: block;
  width: 100%;
  height: 30%;
  font-size: 18px;
  color: #000000;
  padding: 20px;
  text-align: center; }
