/* Panda Syntax Colors */
* {
  transition: 300ms;
}

body {
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-color: #222f3e;
}

.container {
  position: relative;
  min-width: 800px;
  height: 800px;
  transform: scale(1);
  display: flex;
  justify-content: center;
}

.panda-container {
  position: absolute;
  width: 600px;
  height: 600px;
  bottom: 7.5%;
  transform: scale(1);
}

.panda-ear-right, .panda-ear-left {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background-color: #576574;
  position: absolute;
  content: "";
  top: 10%;
  z-index: 6000;
}

.panda-ear-left {
  left: 22.5%;
}

.panda-ear-right {
  right: 22.5%;
}

.panda-head {
  margin: 0 auto;
  position: relative;
  top: 15%;
  transform: scale(1);
  width: 275px;
  height: 275px;
  border-radius: 50%;
  background-color: #c8d6e5;
  z-index: 7000;
  box-shadow: inset 60px 0px 0 rgba(0, 0, 0, 0.3);
}

.panda-eye-right, .panda-eye-left {
  width: 95px;
  height: 110px;
  border-radius: 50%;
  border-radius: 50% 45% 45% 50%;
  background-color: #576574;
  position: absolute;
  top: 30%;
  z-index: 8000;
}
.panda-eye-right:after, .panda-eye-left:after {
  background-color: #c8d6e5;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  position: absolute;
  content: "";
  top: 50%;
  -webkit-animation: blink 5s ease-in infinite;
          animation: blink 5s ease-in infinite;
}

.panda-eye-left {
  left: 30%;
}
.panda-eye-left:after {
  left: 35%;
}

.panda-eye-right {
  right: 30%;
}
.panda-eye-right:after {
  right: 35%;
}

.panda-muzzle {
  background-color: #c8d6e5;
  width: 110px;
  height: 120px;
  border-radius: 50%;
  position: absolute;
  top: 40.75%;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 70% 70% 50% 50%;
  z-index: 9000;
  box-shadow: inset -5px -15px 0 rgba(0, 0, 0, 0.3);
}
.panda-muzzle:after {
  background-color: #576574;
  position: absolute;
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-radius: 50% 50% 10px 25px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 0;
  transform: rotate(45deg) translate(-50%, -50%);
  box-shadow: inset -10px -5px 0 rgba(0, 0, 0, 0.2);
}
.panda-muzzle:before {
  background-color: #576574;
  position: absolute;
  content: "";
  width: 20%;
  height: 35%;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0%);
}

.panda-body-container {
  position: absolute;
  height: 300px;
  width: 350px;
  overflow: hidden;
  top: 15%;
  left: 50%;
  transform: translate(-50%, 0%);
}

.panda-body {
  background-color: #c8d6e5;
  width: 350px;
  height: 450px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 30%);
  z-index: 4000;
  box-shadow: inset 60px 0px 0 rgba(0, 0, 0, 0.3);
}

.panda-hand-right, .panda-hand-left {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-color: #576574;
  position: absolute;
  bottom: 5%;
  z-index: 5000;
  box-shadow: inset 20px 20px 0 rgba(0, 0, 0, 0.3);
  -webkit-animation: hand-move 0.7s ease-in-out infinite;
          animation: hand-move 0.7s ease-in-out infinite;
}

.panda-hand-left {
  left: 10%;
}

.panda-hand-right {
  right: 10%;
  -webkit-animation-delay: -0.35s;
          animation-delay: -0.35s;
}

.laptop {
  background-color: #1e272e;
  position: absolute;
  bottom: 7.5%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 50%;
  height: 30%;
  box-shadow: 0 0 200px 10px #6BD2C2;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  z-index: 2000;
  -webkit-animation: screen-light-change 30s infinite;
          animation: screen-light-change 30s infinite;
}

.table {
  background-color: #485460;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 95%;
  height: 7.5%;
  transform: translate(-50%, 0);
  z-index: 3000;
}

/* Panda hover effects */
.panda-container:hover .panda-body,
.panda-container:hover .panda-head,
.panda-container:hover .panda-muzzle {
  background-color: #28FDDA;
}

.panda-container:hover .panda-muzzle:after,
.panda-container:hover .panda-muzzle:before {
  background-color: #70B3FB;
}

.panda-container:hover .panda-ear-left,
.panda-container:hover .panda-ear-right,
.panda-container:hover .panda-hand-left,
.panda-container:hover .panda-hand-right {
  background-color: #FEDC89;
}

.panda-container:hover .panda-eye-left,
.panda-container:hover .panda-eye-right {
  background-color: #F0597C;
}

.panda-container:hover .panda-eye-left:after,
.panda-container:hover .panda-eye-right:after {
  background-color: white;
}

.panda-container:hover .panda-hand-left {
  -webkit-animation: hand-move 0.1s ease-in-out infinite;
          animation: hand-move 0.1s ease-in-out infinite;
}

.panda-container:hover .panda-hand-right {
  -webkit-animation: hand-move 0.1s ease-in-out infinite;
          animation: hand-move 0.1s ease-in-out infinite;
  -webkit-animation-delay: -0.075s;
          animation-delay: -0.075s;
}

/* Animations */
@-webkit-keyframes hand-move {
  0% {
    transform: translatey(0);
  }
  50% {
    transform: translatey(20px);
  }
  100% {
    transform: translatey(0);
  }
}
@keyframes hand-move {
  0% {
    transform: translatey(0);
  }
  50% {
    transform: translatey(20px);
  }
  100% {
    transform: translatey(0);
  }
}
@-webkit-keyframes blink {
  0% {
    transform: scaley(1);
  }
  2.5% {
    transform: scaley(0);
  }
  5% {
    transform: scaley(1);
  }
}
@keyframes blink {
  0% {
    transform: scaley(1);
  }
  2.5% {
    transform: scaley(0);
  }
  5% {
    transform: scaley(1);
  }
}
@-webkit-keyframes screen-light-change {
  0% {
    box-shadow: 0 0 200px 10px #70B3FB;
  }
  20% {
    box-shadow: 0 0 200px 10px #70B3FB;
  }
  25% {
    box-shadow: 0 0 200px 10px #6BD2C2;
  }
  45% {
    box-shadow: 0 0 200px 10px #6BD2C2;
  }
  50% {
    box-shadow: 0 0 200px 10px rgba(175, 134, 235, 0.5);
  }
  70% {
    box-shadow: 0 0 200px 10px rgba(175, 134, 235, 0.5);
  }
  75% {
    box-shadow: 0 0 200px 10px rgba(40, 253, 218, 0.2);
  }
  95% {
    box-shadow: 0 0 200px 10px rgba(40, 253, 218, 0.2);
  }
  100% {
    box-shadow: 0 0 200px 10px #6BD2C2;
  }
}
@keyframes screen-light-change {
  0% {
    box-shadow: 0 0 200px 10px #70B3FB;
  }
  20% {
    box-shadow: 0 0 200px 10px #70B3FB;
  }
  25% {
    box-shadow: 0 0 200px 10px #6BD2C2;
  }
  45% {
    box-shadow: 0 0 200px 10px #6BD2C2;
  }
  50% {
    box-shadow: 0 0 200px 10px rgba(175, 134, 235, 0.5);
  }
  70% {
    box-shadow: 0 0 200px 10px rgba(175, 134, 235, 0.5);
  }
  75% {
    box-shadow: 0 0 200px 10px rgba(40, 253, 218, 0.2);
  }
  95% {
    box-shadow: 0 0 200px 10px rgba(40, 253, 218, 0.2);
  }
  100% {
    box-shadow: 0 0 200px 10px #6BD2C2;
  }
}