* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  background-color: rgb(231, 251, 253);
  font-family: sans-serif;
}

.wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: pointer;
}

.penguin_wrapper {
  position: absolute;
  width: 96px;
  height: 96px;
  overflow: hidden;
  transition: 0.5s;
}

svg {
  display: block;
}

.penguin_wrapper svg {
  fill: navy;
}

.penguin_inner_wrapper {
  height: 100%;
  width: 100%;
  transition: 0;
}

.facing_upleft,
.facing_left,
.facing_downleft {
  transform: scale(-1, 1);
}

.penguin_sprite {
  position: absolute;
  height: calc(6 * 96px);
  width: calc(8 * 96px);
  pointer-events: none;
}

.penguin_sprite img {
  height: 100%;
  width: 100%;
  display: block;
}

.hit_wrapper {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.hit_area {
  height: 50px;
  width: 40px;
  display: flex;
  flex-wrap: wrap;
  /* border: red 1px solid; */
}

.sign {
  position: fixed;
  font-family: Arial, Helvetica, sans-serif;
  color: navy;
  bottom: 10px;
  right: 10px;
  font-size: 10px;
}

a {
  color: navy;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.foot_print {
  height: 30px;
  width: 30px;
  position: absolute;
  z-index: -10;
  image-rendering: pixelated;
  background-size: 30px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAHlJREFUSEtjZBggwDhA9jKMWky3kB8N6oEP6tkv//0HuSJVnIkm0YHTULpbDLMQPcyp7XMMHw86i2EhQC2fE+1jmlsMs4DWQU4wVdMqkRHMo+g+p1kco/twwCymVRlKMKhHLaZWCIwGNbVCkqA5o0FNMIiopWDkBTUAjfAoH+hhPScAAAAASUVORK5CYII=);
  animation: forwards fade 10s;
}

@keyframes fade {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fade_lighter {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 0;
  }
}

.jump_print {
  height: 32px;
  width: 36px;
  position: absolute;
  z-index: -10;
  image-rendering: pixelated;
  background-size: 36px 32px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAAXNSR0IArs4c6QAAAK1JREFUWEftl8ENgCAMRWEKJ3QqJ3QKiAc81NTWT4AfU6+KvL4WCjmRPZmMJ8FAx1nKWzD7lqF/Q4MukOVAFoCVeq8xt6HlQL0AqDHVEA3QaBBpTtbWw1AAif2K19DsVGm1dBsKIKGorbYwpO3gYcjb23hrqEUwe/lHL/PWTvuOt5fJSEbXknbG5j8xajnvNfa/W4e1OixjXiNyHve97GvRTweyDKLvYUPohNa4Cm6ZcCHJb/u+AAAAAElFTkSuQmCC);
  animation: forwards fade_lighter 10s;
}

.star {
  position: absolute;
  width: 16px;
  height: 16px;
  overflow: hidden;
  z-index: 20;
}

.star_sprite {
  position: absolute;
  height: 100%;
  width: calc(4 * 16px);
  pointer-events: none;
}

.star svg {
  fill: rgb(148, 234, 255);
}

.star.twinkle {
  animation: infinite twinkle 1s;
}

@keyframes twinkle {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
