html, body {
  height: 100%;
}

body {
  background: lightblue;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1 1 100%;
}

.hat {
  position: relative;
  z-index: 1;
  background: black;
  width: 80px;
  height: 60px;
  transform: rotate(25deg);
  margin-left: 45px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.hat .border {
  background: black;
  width: 120px;
  height: 20px;
}

.circle {
  position: relative;
  background: white;
  border-radius: 50%;
  margin-top: -30px;
}
.circle.-head {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.circle.-body {
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.circle.-legs {
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.circle.-legs .button + .button {
  margin-top: 20px;
}
.circle .arm {
  background: white;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: shakeArms 2s linear 0s infinite alternate;
  position: absolute;
  transform: translateY(-50%);
}
.circle .arm:first-of-type {
  left: -40px;
}
.circle .arm:last-of-type {
  right: -40px;
  animation-delay: -2s;
}
@keyframes shakeArms {
  0% {
    top: 40%;
  }
  100% {
    top: 60%;
  }
}
.circle .eye {
  background: black;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.circle .eye:first-of-type {
  left: 20px;
}
.circle .eye:last-of-type {
  right: 40px;
}
.circle .nose {
  border-left: 50px solid transparent;
  border-bottom: 10px solid orange;
  position: absolute;
  top: calc(50% + 5px);
  left: -15px;
}
.circle .button {
  background: black;
  border-radius: 50%;
  width: 10px;
  height: 10px;
}
.circle .button + .button {
  margin-top: 10px;
}

.ground {
  position: relative;
  z-index: 1;
  background: lightblue;
  width: 200px;
  height: 10px;
  margin-top: -10px;
}