* {
  margin: 0;
  padding: 0;
}
body {
  margin: 0;
  padding: 0;
  background:#fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  width: 100vw;
overflow: hidden;
}
.cartoon {
  width: 80vmin;
  height: 80vmin;
  background-color: #fffeab;
  border-radius: 47vmin;
  border: 7vmin solid rgb(255, 253, 253);
  position: absolute;
  box-shadow: 2vmin 2vmin 5vmin 0 rgb(106, 106, 106),
    -2vmin -2vmin 5vmin 0 rgb(107, 106, 106);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	/*opacity: 0.5;*/
}

.cat {
  position: absolute;
  height: 50vmin;
  width: 30vmin;
  top: 20%;
  left: 30%;
  background-color: black;
  border-radius: 100% 80% 20% 20%/ 20% 20% 10% 10%;
  box-shadow: 0.15vmin 0.2vmin 0 0 #fffeab, -0.15vmin 0.2vmin 0 0 #fffeab;
}

.ear {
  position: absolute;
  width: 6vmin;
  height: 13vmin;
  background-color: black;
  border-radius: 50% 80% 80% 50% / 100% 100% 0% 10%;
  transform: rotate(-10deg);
  left: 29%;
  top: 14%;
}

.ear + .ear {
  left: auto;
  right: 31.8%;
  transform: scaleX(-1) rotate(-10deg);
}

.eye {
  position: absolute;
  height: 8vmin;
  width: 8vmin;
  border-radius: 50%;
  background-color: #fffeab;
  left: 16%;
  top: 10%;
}

.eye + .eye {
  left: auto;
  right: 19%;
}

.pupil {
  position: absolute;
  height: 2.5vmin;
  width: 2.5vmin;
  border-radius: 50%;
  background-color: black;
  left: 45%;
  top: 10%;
}

.eye + .eye .pupil {
  left: auto;
  right: 47%;
}

.heart {
  position: relative;
  width: 10vmin;
  height: 10vmin;
  top: 55%;
  left: 52%;
  transform: rotate(4deg);
}

.heart:before,
.heart:after {
  position: absolute;
  content: "";
  left: 40%;
  top: 0;
  width: 4vmin;
  height: 8vmin;
  background: #fffeab;
  border-radius: 80% / 70% 90% 0 0;
  transform: rotate(-45deg);
  transform-origin: 0 100%;
}

.heart:after {
  left: 0;
  transform: rotate(45deg);
  transform-origin: 100% 100%;
}

.leg {
  position: absolute;
  height: 10vmin;
  width: 4vmin;
  top: 65%;
  left: 17%;
  transform: rotate(-40deg);
  border-radius: 100% 100% 80% 180% / 0 0 50% 90%;
  box-shadow: 0.15vmin 0.2vmin 0 0 #fffeab, -0.1vmin 0.15vmin 0.01vmin 0 #fffeab;
  border-top: none;
}

.leg + .leg {
  left: auto;
  right: 18%;
  top: 63%;
  transform: scaleX(-1) rotate(-50deg);
}

.nose {
  position: absolute;
  height: 1.5vmin;
  width: 1.5vmin;
  background-color: #fffeab;
  border-radius: 100% / 60% 60% 120% 120%;
  left: 45%;
  top: 24%;
}

.circle {
  position: absolute;
  height: 7vmin;
  width: 18vmin;
  border-radius: 50%;
  left: 37%;
  top: 5%;
  box-shadow: 0.5vmin 0.4vmin 0 0.5vmin black, 0.1vmin 0.4vmin 0 1.25vmin black;
}

.heart1 {
  position: relative;
  width: 10vmin;
  height: 10vmin;
  top: 47%;
  left: 22%;
  transform: rotate(-60deg);
  z-index: -1;
}

.heart1::before,
.heart1::after {
  position: absolute;
  content: "";
  left: 50%;
  top: 0;
  width: 5vmin;
  height: 10vmin;
  background: black;
  border-radius: 80% / 70% 90% 0 0;
  transform: rotate(-50deg);
  transform-origin: 0 100%;
}

.heart1::after {
  top: -20%;
  left: 14%;
  transform: rotate(35deg);
  transform-origin: 100% 100%;
}

.heart1 + .heart1 {
  top: 35%;
  left: 62%;
  transform: scaleX(-1) rotate(-60deg);
}

.hair {
  position: absolute;
  height: 15vmin;
  width: 0.8vmin;
  transform: rotate(99deg);
  border-right: 0.6vmin solid black;
  border-radius: 0 100% 100%;
}

.hair1 {
  top: 27%;
  left: 25%;
}

.hair2 {
  top: 26%;
  left: 26.5%;
  transform: rotate(105deg);
}

.hair3 {
  top: 25%;
  left: 27%;
  transform: rotate(110deg);
}

.hair4 {
  top: 27%;
  right: 29%;
  transform: scaleX(-1) rotate(99deg);
}

.hair5 {
  top: 26%;
  right: 30%;
  transform: scaleX(-1) rotate(105deg);
}

.hair6 {
  top: 25%;
  right: 30%;
  transform: scaleX(-1) rotate(110deg);
}

.mouth {
  position: absolute;
  top: 26%;
  left: 35%;
  height: 5vmin;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: inset -0.6vmin -1vmin 0 -0.5vmin #fffeab;
  transform: rotate(-18deg) scale(0.6);
}

.mouth::after {
  content: "";
  position: absolute;
  top: 20%;
  left: 90%;
  height: 5vmin;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: inset 0.6vmin -1vmin 0 -0.5vmin #fffeab;
  transform: rotate(25deg);
}

.element {
  position: absolute;
  top: 90%;
  left: 33%;
  height: 5vmin;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: inset -0.6vmin 0.8vmin 0 -0.7vmin #fffeab;
  transform: rotate(-18deg);
}

.element::after {
  content: "";
  position: absolute;
  top: 30%;
  left: 75%;
  height: 5vmin;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: inset -0.6vmin 0.8vmin 0 -0.7vmin #fffeab;
  transform: rotate(-25deg);
}

.tail {
  position: absolute;
  height: 20vmin;
  width: 10vmin;
  top: 68%;
  right: 23%;
  border: 4vmin solid black;
  border-top-right-radius: 60vmin;
  border-top-left-radius: 40vmin;
  border-bottom: none;
  z-index: -1;
  transform: rotate(87deg);
}

.tail::before {
  content: "";
  position: absolute;
  height: 4vmin;
  width: 10vmin;
  background-color: black;
  border-radius: 80% 100% 100% 180% / 60% 0 0 150%;
  top: 110%;
  left: 69%;
  transform: rotate(-90deg);
}