<div class="character kyle">
  <div class="body">
    <div class="legs"></div>
    <div class="feet">
      <div class="foot foot-left"></div>
      <div class="foot foot-right"></div>
    </div>
    <div class="jacket">
      <div class="jacket-body"></div>
      <div class="jacket-collar"></div>
      <div class="jacket-stroke-arm jacket-stroke-arm-left"></div>
      <div class="jacket-stroke jacket-stroke-center"></div>
      <div class="jacket-stroke-arm jacket-stroke-arm-right"></div>
      <div class="pocket pocket-left"></div>
      <div class="pocket pocket-right"></div>
      <div class="glove glove-left"></div>
      <div class="glove glove-right"></div>
    </div>
  </div>
  <div class="head">
    <div class="cap-ear cap-ear-left"></div>
    <div class="cap-ear cap-ear-right"></div>
    <div class="cap-border"></div>
    <div class="cap-border"></div>
    <div class="face">
      <div class="eyes">
        <div class="eye eye-left"></div>
        <div class="eye eye-right"></div>
      </div>
      <div class="mouth"></div>
    </div>
  </div>
</div>
$character-size: 300px ;
$color-green: #1eb12d;
$color-green-light: #52db0f;
$color-green-dark: #2f674e;
$color-skin: #f2d5ad;
$color-orange: #e55811;

.character  * {
  position: absolute;
  box-sizing: border-box;
  &::before,
  &::after {
    display: block;
    content: "";
    position: absolute;
  }
}

.kyle {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;
  margin: 10px auto;

  .head {
    top: 9%;
    width: 100%;
    height: 62%;
    background-color: $color-green-light;
    border-radius: 15% 15% 50%50%;
  }
  .face {
    bottom: 0;
    left: 0;
    background-color: $color-skin;
    width: 100%;
    height: 60%;
    border-radius: 50% 50% 50% 50% / 20% 20% 80% 80%;
  }
  .cap-border {
    bottom: 10%;
    left: 10%;
    background-color: $color-green;
    width: 80%;
    height: 60%;
    border-radius: 50% 50% 50% 50% / 18% 18% 75% 75%;
    
    &::before {
      width: 100%;
      height: 32%;
      top: -15%;
      background-color: $color-green;
      z-index: 1;
    }
  }
  .cap-ear {
    top: 35%;
    height: 40%;
    width: 20%;
    border-radius: 50%;
    background-color: $color-green-light;
    z-index:2;
  }
  .cap-ear-left {
    left: -10%;
    transform: rotate(15deg);
  }
  .cap-ear-right {
    right: -10%;
    transform: rotate(-15deg);
  }
  .eyes {
    bottom: 50%;
    left: 21%;
    height: 47%;
    width: 58%;
  }
  .eye {
    background-color: #fff;
    height: 100%;
    width: 49%;
    &:before {
      width: 10%;
      height: 10%;
      background-color: #000;
      top: 45%;
      left: 70%;
      border-radius: 50%;
    }
  }
  .eye-left {
    border-radius: 60% 40% 60% 40% / 60% 40% 60% 40%;
  }
  .eye-right {
    right: 0;
    border-radius: 40% 60% 40% 60% / 40% 60% 40% 60%;
  }
  .mouth {
    left: 42%;
    top: 20%;
    width: 15%;
    height: 50%;
    border: solid 3px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 50% 50% / 10%;
  }

  .body {
    bottom: 0;
    width: 100%;
    height: 37%;

    .jacket {
      top: 0;
      left: 3%;
      width: 94%;
      height: 82%;

      .jacket-body {
        left: 0%;
        bottom: 0%;
        width: 100%;
        height: 140%;
        background-color: $color-orange;
        border-radius: 48% 52% 50% 50% / 87% 90% 10% 13%;
      }

      .jacket-collar {
        left: 17%;
        top: -37%;
        width: 66%;
        height: 74%;
        border-radius: 50%;
        background-color: $color-green;
      }

      .jacket-stroke-arm {
        top: 35%;
        width: 10%;
        height: 55%;
        border-radius: 50%;
        background-color: #000;
        &::before {
          top: 0%;
          width: 100%;
          height: 105%;
          border-radius: 50%;
          background-color: $color-orange;
        }
      }
      .jacket-stroke-arm-left {
        left: 12%;
        &::before {
          left: 7%;
        }
      }
      .jacket-stroke-arm-right {
        right: 12%;
        &::before {
          right: 7%;
        }
      }
      .jacket-stroke-center {
        left: 49.5%;
        bottom: 0;
        width: 1%;
        background-color: #000;
        height: 110%;
      }
      .pocket {
        top: 42%;
        width: 12%;
        height: 28%;
        border: 2px solid #000;
        overflow: hidden;
        &::before, &::after  {
          top: -9%;
          border: 1px solid #000;
          height: 60%;
        }
        &::before {
          left: 19%;
          transform:rotate(-45deg);
        }
        &::after {
          right: 19%;
          transform:rotate(45deg);
        }
      }
      .pocket-left {
        left: 28%;
      }
      .pocket-right {
        right: 28%;
      }
      .glove {
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-green-light;

        &::before {
          width: 40%;
          height: 40%;
          background-color: $color-green-light;
          top: 14%;
          border-radius: 50%;
        }
      }

      .glove-left {
        left: -2%;

        &::before {
          right: -12%;
        }
      }
      .glove-right {
        right: -2%;

        &::before {
          left: -12%;
        }
      }
    }
  }
  
  .legs {
    bottom: 3%;
    left: 15%;
    width: 70%;
    height: 20%;
    background-color: $color-green-dark;
  }
  .feet {
    bottom: 0;
    left: 9%;
    width: 82%;
    height: 8%;
    .foot {
      bottom: 0;
      width: 52%;
      height: 100%;
      background-color: #000;
      border-radius: 50% 50% 50% 50% / 100% 100% 0% 0% ;
    }
    .foot-left {
      left: 0;
    }
    .foot-right {
      right: 0;
    }
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.