.centered-X {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body {
  background-color: #584547;
  overflow-x: hidden;
  width: 100vw;
  height: 100vh;
}
.container {
  width: 798px;
  height: 600px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.head {
  position: absolute;
  top: 10.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #87a5a3;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  z-index: 10;
  background-image: linear-gradient(to top left, #647b81 25%, #87a5a3 25%, #87a5a3 58%, #400c18 58%);
}
.head:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #98b8b3;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  clip: rect(0, 100px, 200px, 0);
  background-image: linear-gradient(to top right, #647b81 25%, #98b8b3 25%, #98b8b3 58%, #400c18 58%);
}
.eyes:before {
  content: "";
  position: absolute;
  top: 44%;
  left: 25%;
  width: 24px;
  height: 24px;
  background-color: #400c18;
  border-radius: 50%;
}
.eyes:after {
  content: "";
  position: absolute;
  top: 44%;
  right: 25%;
  width: 24px;
  height: 24px;
  background-color: #400c18;
  border-radius: 50%;
}
.mouth {
  width: 74px;
  height: 7px;
  background-color: #400c18;
  position: absolute;
  top: 63.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 5px;
}
.mouth:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 15%;
  width: 1px;
  height: 1px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 13px solid white;
}
.mouth:after {
  content: "";
  position: absolute;
  top: 100%;
  right: 15%;
  width: 1px;
  height: 1px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 13px solid white;
}
.ears:before {
  content: "";
  top: 17.5%;
  left: 100%;
  width: 68px;
  height: 65px;
  position: absolute;
  z-index: 10;
  background-image: linear-gradient(to right bottom, #400c18 50%, transparent 50%), linear-gradient(to right, #647b81 50%, #98b8b3 50%);
}
.ears:after {
  content: "";
  top: 17.5%;
  right: 100%;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  width: 68px;
  height: 65px;
  position: absolute;
  z-index: 10;
  background-image: linear-gradient(to right bottom, #400c18 50%, transparent 50%), linear-gradient(to right, #647b81 50%, #98b8b3 50%);
}
.collar {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  position: absolute;
  background-color: #400c18;
  top: 55.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.collar:before {
  content: "";
  position: absolute;
  top: 7px;
  right: 11px;
  width: 1px;
  height: 1px;
  border-left: 240px solid transparent;
  border-right: 240px solid transparent;
  border-top: 237px solid #400c18;
  z-index: -10;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -99.5%);
          transform: translate(-50%, -99.5%);
}
.bowtie:before {
  content: "";
  position: absolute;
  z-index: 20;
  top: -150%;
  left: 100%;
  width: 35px;
  height: 35px;
  background-image: linear-gradient(to left top, #400c18 50%, transparent 50%);
}
.bowtie:after {
  content: "";
  position: absolute;
  z-index: 20;
  top: -150%;
  width: 35px;
  height: 35px;
  right: 100%;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  background-image: linear-gradient(to left top, #400c18 50%, transparent 50%);
}
.raincoat {
  position: absolute;
  width: 149px;
  height: 324px;
  z-index: -40;
  top: 46%;
  left: 50%;
  background-image: linear-gradient(74deg, transparent 59%, #584547 59%), linear-gradient(135deg, rgba(255, 255, 255, 0.6) 33%, #400c18 33%);
}
.raincoat:before {
  content: "";
  position: absolute;
  width: 149px;
  height: 324px;
  z-index: -45;
  top: 0;
  left: -100%;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  background-image: linear-gradient(74deg, transparent 59%, #584547 59%), linear-gradient(135deg, rgba(255, 255, 255, 0.6) 33%, #4d1d29 33%);
}
.jabot-top {
  position: absolute;
  width: 60px;
  height: 120px;
  z-index: -40;
  top: 52%;
  left: 50%;
  background-image: linear-gradient(75deg, rgba(255, 255, 255, 0.6) 62%, transparent 62%);
}
.jabot-top:before {
  content: "";
  position: absolute;
  width: 60px;
  height: 120px;
  z-index: -45;
  top: 0;
  left: -100%;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  background-image: linear-gradient(75deg, rgba(255, 255, 255, 0.8) 62%, transparent 62%);
}
.jabot-bottom {
  width: 57px;
  height: 57px;
  position: absolute;
  top: 72%;
  left: 50%;
  background-image: linear-gradient(to right bottom, rgba(255, 255, 255, 0.6) 50%, transparent 50%);
}
.jabot-bottom:before {
  content: "";
  width: 57px;
  height: 57px;
  position: absolute;
  top: 0;
  right: 100%;
  background-image: linear-gradient(to left bottom, rgba(255, 255, 255, 0.8) 50%, transparent 50%);
}
.jabot-triangle {
  width: 26px;
  height: 27px;
  position: absolute;
  top: 61%;
  left: 50%;
  background-image: linear-gradient(to right bottom, #c95927 50%, transparent 50%);
}
.jabot-triangle:before {
  content: "";
  width: 26px;
  height: 27px;
  position: absolute;
  top: 0;
  right: 100%;
  background-image: linear-gradient(to left bottom, #f38b36 50%, transparent 50%);
}
div[class^="hand-"] {
  width: 105px;
  height: 155px;
  position: absolute;
  top: 46%;
  z-index: 60;
  background-image: linear-gradient(to left top, #400c18 50%, transparent 50%);
}
.hand-left {
  left: 28%;
  -webkit-transform: skewX(-16deg);
          transform: skewX(-16deg);
}
.hand-left:before {
  content: "";
  position: absolute;
  width: 115px;
  height: 80px;
  background-color: #98b8b3;
  border-radius: 50%;
  clip: rect(0, 115px, 25px, 0);
  -webkit-transform: scaleY(-1) skewX(-16deg);
          transform: scaleY(-1) skewX(-16deg);
  right: 100%;
  top: 63%;
}
.hand-right {
  right: 28%;
  -webkit-transform: skewX(16deg) scaleX(-1);
          transform: skewX(16deg) scaleX(-1);
}
.hand-right:before {
  content: "";
  position: absolute;
  width: 115px;
  height: 80px;
  background-color: #98b8b3;
  border-radius: 50%;
  clip: rect(0, 115px, 25px, 0);
  -webkit-transform: scaleY(-1) skewX(-16deg);
          transform: scaleY(-1) skewX(-16deg);
  right: 100%;
  top: 63%;
}
div[class^="pumpkin-"]:not([class$="-mouth"]):not([class$="-eye"]) {
  position: absolute;
  border-radius: 70px;
  width: 120px;
  height: 100px;
  z-index: 60;
  background-color: #f18b36;
  box-shadow: -30px 0 0 0 #f38b36, -60px 0 0 0 #c95927, 30px 0 0 0 #c95927, 60px 0 0 0 #97441a;
  background-image: linear-gradient(to right, #f6ad60 50%, #f18b36 50%);
}
div[class^="pumpkin-"]:not([class$="-mouth"]):not([class$="-eye"]):before {
  content: "";
  position: absolute;
  width: 11px;
  height: 25px;
  top: -25%;
  left: 41%;
  background-image: linear-gradient(-70deg, #a37c00 50%, transparent 50%);
}
div[class^="pumpkin-"]:not([class$="-mouth"]):not([class$="-eye"]):after {
  content: "";
  position: absolute;
  width: 11px;
  height: 25px;
  top: -25%;
  left: 50%;
  background-color: #7b6200;
}
.pumpkin-left {
  left: 11%;
  top: 55.5%;
}
.pumpkin-right {
  right: 11%;
  top: 55.5%;
}
.pumpkin-eye:before {
  content: "";
  position: absolute;
  width: 25px;
  height: 23px;
  top: 20%;
  right: 58%;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  background-image: linear-gradient(to left top, #400c18 50%, transparent 50%);
}
.pumpkin-eye:after {
  content: "";
  position: absolute;
  width: 25px;
  height: 23px;
  top: 20%;
  left: 58%;
  background-image: linear-gradient(to left top, #400c18 50%, transparent 50%);
}
.pumpkin-mouth {
  position: absolute;
  border-radius: 0 0 30px 30px;
  width: 90px;
  height: 30px;
  top: 55%;
  background-color: #400c18;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.pumpkin-mouth:before {
  content: "";
  position: absolute;
  top: 0;
  left: 24%;
  width: 1px;
  height: 1px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 13px solid #f6ad60;
}
.pumpkin-mouth:after {
  content: "";
  position: absolute;
  top: 0;
  right: 24%;
  width: 1px;
  height: 1px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 13px solid #f18b36;
}
.pumpkin-left .pumpkin-mouth {
  -webkit-animation: nome-nome-1 0.7s infinite;
          animation: nome-nome-1 0.7s infinite;
}
@-webkit-keyframes nome-nome-1 {
  0% {
    height: 15px;
  }
  25% {
    height: 25px;
  }
  50% {
    height: 30px;
  }
  85% {
    height: 25px;
  }
  100% {
    height: 15px;
  }
}
@keyframes nome-nome-1 {
  0% {
    height: 15px;
  }
  25% {
    height: 25px;
  }
  50% {
    height: 30px;
  }
  85% {
    height: 25px;
  }
  100% {
    height: 15px;
  }
}
.pumpkin-right .pumpkin-mouth {
  -webkit-animation: nome-nome-2 0.7s infinite;
          animation: nome-nome-2 0.7s infinite;
}
@-webkit-keyframes nome-nome-2 {
  0% {
    height: 30px;
  }
  25% {
    height: 25px;
  }
  50% {
    height: 15px;
  }
  85% {
    height: 25px;
  }
  100% {
    height: 30px;
  }
}
@keyframes nome-nome-2 {
  0% {
    height: 30px;
  }
  25% {
    height: 25px;
  }
  50% {
    height: 15px;
  }
  85% {
    height: 25px;
  }
  100% {
    height: 30px;
  }
}
.eyes:before,
.eyes:after {
  -webkit-animation: eyes-blink 2.5s infinite;
          animation: eyes-blink 2.5s infinite;
}
@-webkit-keyframes eyes-blink {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  95% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}
@keyframes eyes-blink {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  95% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  100% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}