<div class="viewer">
  <div class="characters">
    <!-- Eric Cartman -->
    <div class="large">
      <div class="character eric">
        <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-stroke jacket-stroke-center"></div>
            <div class="jacket-buttons"></div>
            <div class="glove glove-left"></div>
            <div class="glove glove-right"></div>
          </div>
        </div>
        <div class="head">
          <div class="cap-top"></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 class="chin"></div>
          </div>
        </div>
      </div>
    </div>

    <!-- Stan Marsh -->
    <div>
      <div class="character stan">
        <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-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="jacket-buttons"></div>
            <div class="jacket-collar"></div>
            <div class="glove glove-left"></div>
            <div class="glove glove-right"></div>
          </div>
        </div>
        <div class="head">
          <div class="cap-top"></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>
    </div>

    <!-- Kyle Broflovski -->
    <div>
      <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>
    </div>

    <!-- Kenny McCormick -->
    <div>
      <div class="character kenny">
        <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-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="glove glove-left"></div>
            <div class="glove glove-right"></div>
          </div>
        </div>
        <div class="head">
          <div class="eyes">
            <div class="eye eye-left"></div>
            <div class="eye eye-right"></div>
          </div>
          <div class="hood"></div>
          <div class="hood-circle">
          </div>
        </div>
      </div>
    </div>
    
    <!-- Butters Stotch -->
    <div>
      <div class="character butters">
        <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-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="jacket-buttons"></div>
            <div class="hand hand-left"></div>
            <div class="hand hand-right"></div>
          </div>
        </div>
        <div class="head">
          <div class="hairs">
            <div class="hair hair-1"></div>
            <div class="hair hair-2"></div>
            <div class="hair hair-3"></div>
            <div class="hair hair-4"></div>
            <div class="hair hair-5"></div>
            <div class="hair hair-6"></div>
          </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>
    </div>

    <!-- Token Black -->
    <div>
      <div class="character token">
        <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">T</div>
            <div class="jacket-stroke-arm jacket-stroke-arm-left"></div>
            <div class="jacket-stroke-arm jacket-stroke-arm-right"></div>
            <div class="hand hand-left"></div>
            <div class="hand hand-right"></div>
          </div>
        </div>
        <div class="head">
          <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>
    </div>
    
    <!-- Craig Tucker -->
    <div>
      <div class="character craig">
  <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-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="jacket-buttons"></div>
      <div class="jacket-collar"></div>
      <div class="hand hand-left"></div>
      <div class="hand hand-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-top"></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>
    </div>
    
    <!-- Tweek Tweak -->
    <div class="large">
      <div class="character tweek">
  <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="shirt-body">
      <div class="shirt"></div>
      <div class="shirt-stroke-arm shirt-stroke-arm-left"></div>
      <div class="shirt-stroke-arm shirt-stroke-arm-right"></div>
      <div class="shirt-buttons-stroke"></div>
      <div class="shirt-buttons shirt-buttons-1"></div>
      <div class="shirt-buttons shirt-buttons-2"></div>
      <div class="shirt-collar"></div>
      <div class="shirt-collar-right"></div>
      <div class="shirt-skin"></div>
      <div class="hand hand-left"></div>
      <div class="hand hand-right"></div>
    </div>
  </div>
  <div class="head">
    <div class="hairs">
      <div class="hair-back"></div>
      <div class="hair hair-t1"></div>
      <div class="hair hair-t2"></div>
      <div class="hair hair-t3"></div>
      <div class="hair hair-t4"></div>
      <div class="hair hair-t5"></div>
      <div class="hair hair-t6"></div>
      <div class="hair hair-t7"></div>
      <div class="hair hair-t8"></div>
      <div class="hair hair-t9"></div>
      <div class="hair hair-t10"></div>
    </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>
    </div>
    
    
    
  </div><!-- End .characters -->
</div><!-- End .viewer -->
$character-size: 500px;

$color-blue: #486199;
$color-blue-light: #48c2b5;
$color-blue-dark: #41456c;
$color-brown: #583714;
$color-brown-light: #8f5642;
$color-green: #1eb12d;
$color-green-light: #52db0f;
$color-green-dark: #2f674e;
$color-orange: #e55811;
$color-orange-dark: #c04102;
$color-red: #c1042e;
$color-skin: #f2d5ad;
$color-skin-dark: #805b4d;
$color-yellow: #ede10f;
$color-skin: #f2d5ad;

$color-butters-green-light: #4fbda1;
$color-hair-dark: #3b2d35;
$color-token-pink: #b269a9;
$color-token-yellow: #ffc11a;
$color-token-blue-dark: #342e47;
$color-tweek-grey: #7c7b66;
$color-tweek-grey-dark: #676453;
$color-tweek-blue-dark: #373553;

@import url("https://fonts.googleapis.com/css?family=Carter+One&display=swap");

.character * {
  position: absolute;
  box-sizing: border-box;
  &::before,
  &::after {
    display: block;
    content: "";
    position: absolute;
    box-sizing: border-box;
  }
}
.characters {
  display: flex;
  gap:30px 40px;
  justify-content:center;
  align-items: flex-end;
  flex-wrap: wrap;

  & > div {
    position: relative;
    width: 160px;
    height: 250px;
  }
  & > div.large {
    width: 250px;
  }
  .character {
    transform: scale(0.5) translateX(-50%);
    transform-origin: bottom center ;
    position: absolute;
    bottom: 0 ;    
  }
}

/********************************
 * Eric Cartman
 *******************************/
.eric {
  position: relative;
  width: $character-size - 10px;
  height: $character-size - 10px;

  .head {
    top: 9%;
    left: 10%;
    width: 80%;
    height: 63%;
    background-color: $color-blue-light;
    border-radius: 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: 0;
    left: 0;
    background-color: $color-yellow;
    width: 100%;
    height: 70%;
    border-radius: 50% 50% 50% 50% / 18% 18% 75% 75%;
  }
  .cap-top {
    top: -5%;
    left: 35%;
    background-color: $color-yellow;
    width: 30%;
    height: 15%;
    border-radius: 50%;
  }
  .eyes {
    bottom: 50%;
    left: 27%;
    height: 47%;
    width: 46%;
  }
  .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 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 50% / 10%;
  }

  .chin {
    border: 0px solid #000;
    bottom: 6%;
    left: 10%;
    width: 80%;
    height: 80%;
    border-bottom: 2px solid #000;
    border-radius: 0 0 50% 50%;

    &::before {
      bottom: 10%;
      left: 35%;
      width: 30%;
      height: 10%;
      border-bottom: 2px solid #000;
      border-radius: 0 0 50% 50%;
    }
  }

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

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

      .jacket-body {
        left: 0%;
        bottom: 0%;
        width: 100%;
        height: 100%;
        border-radius: 13% 87% 85% 15% / 72% 53% 47% 28%;
        background-color: $color-red;

        &::before {
          width: 100%;
          height: 100%;
          background-color: $color-red;
          border-radius: 87% 15% 13% 87% / 47% 72% 28% 53%;
        }
      }

      .jacket-stroke-center {
        left: 49.5%;
        width: 1%;
        background-color: #000;
        height: 96%;
        transform: rotate(1deg);
      }
      .jacket-buttons {
        top: 72%;
        left: 46%;
        width: 2%;
        height: 4%;
        background-color: #000;
        border-radius: 50%;
        transform: rotate(2deg);
        &::before,
        &::after {
          height: 100%;
          width: 100%;
          background-color: #000;
          border-radius: 50%;
        }
        &::before {
          top: -450%;
        }
        &::after {
          top: 450%;
        }
      }
      .glove {
        bottom: 40%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-yellow;

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

      .glove-left {
        left: -2%;

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

        &::before {
          left: -12%;
        }
      }
    }
  }

  .legs {
    bottom: 3%;
    left: 4%;
    width: 92%;
    height: 40%;
    background-color: $color-brown;
    clip-path: polygon(0 0, 100% 0%, 90% 100%, 10% 100%);
  }
  .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;
    }
  }
}

/********************************
 * Stan Marsh
 *******************************/
.stan {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;

  .head {
    top: 9%;
    width: 100%;
    height: 63%;
    background-color: $color-blue;
    border-radius: 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: 0;
    left: 0;
    background-color: $color-red;
    width: 100%;
    height: 70%;
    border-radius: 50% 50% 50% 50% / 18% 18% 75% 75%;
  }
  .cap-top {
    top: -12%;    
    left: 40%;
    background-color: $color-red;
    width: 20%;
    height: 20%;
    border-radius: 50%;
  }
  .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 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 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-brown-light;
        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-red;
      }

      .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-brown-light;
        }
      }
      .jacket-stroke-arm-left {
        left: 12%;
        &::before {
          left: 7%;
        }
      }
      .jacket-stroke-arm-right {
        right: 12%;
        &::before {
          right: 7%;
        }
      }
      .jacket-stroke-center {
        left: 49.5%;
        width: 1%;
        background-color: #000;
        height: 100%;
        transform: rotate(2deg);
      }
      .jacket-buttons {
        top: 62%;
        left: 44%;
        width: 3%;
        height: 6%;
        background-color: #000;
        border-radius: 50%;
        transform: rotate(2deg);
        &::before, &::after {
          height: 100%;
          width: 100%;
          background-color: #000;
          border-radius: 50%;
        }
        &::before {
          top: -350%;
        }
        &::after {
          top: 350%;
        }
      }
      .glove {
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-red;

        &::before {
          width: 40%;
          height: 40%;
          background-color: $color-red;
          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-blue;
  }
  .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;
    }
  }
}

/********************************
 * Kyle Broflovski
 *******************************/
.kyle {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;

  .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 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 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;
    }
  }
}

/********************************
 * Kenny McCormick 
 *******************************/
.kenny {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;

  .head {
    position: absolute;
    top: 9%;
    width: 100%;
    height: 63%;
    border-radius: 50%;
  }
  .hood {
    position: absolute;
    top: 5%;
    width: 100%;
    height: 100%;
    border: 0px solid $color-orange;
    border-width: 90px 70px;
    border-radius: 50%;
    z-index: 4;
    overflow: hidden;
    box-shadow: 0px 3px 0px 0px #c04102;

    &::before,
    &::after {
      border-radius: 50%;
      top: -5%;
      bottom: -4%;
      border: solid 0px $color-brown;
      z-index: 3;
    }
    &::before {
      border-left-width: 85px;
      left: -30%;
      right: -80%;
    }
    &:after {
      border-right-width: 85px;
      right: -30%;
      left: -80%;
    }
  }
  .hood-circle {
    position: absolute;
    top: 33%;
    left: 20%;
    width: 60%;
    height: 50%;
    z-index: 6;
    border: solid 2px $color-brown;
    border-radius: 50%;

    &::before,
    &::after {
      border: 0px solid $color-brown;
    }
    &::before {
      top: 86%;
      left: 40%;
      width: 10%;
      height: 30%;
      border-width: 0 2px 2px 0;
      border-radius: 0% 0% 100% 0% / 100% 0% 80% 0%;
    }
    &::after {
      top: 86%;
      right: 39%;
      width: 10%;
      height: 40%;
      border-width: 0 0 2px 2px;
      border-radius: 0% 100% 0% 100% / 20% 0% 100% 80%;
    }
  }

  .eyes {
    position: absolute;
    bottom: 20%;
    left: 21%;
    height: 47%;
    width: 58%;
    background-color: $color-skin;
  }
  .eye {
    position: absolute;
    background-color: #fff;
    top: 17%;
    height: 60%;
    width: 49%;
    &:before {
      width: 10%;
      height: 10%;
      background-color: #000;
      top: 45%;
      border-radius: 50%;
    }
  }
  .eye-left {
    border-radius: 60% 40% 60% 40% / 60% 40% 60% 40%;
    &::before {
      left: 60%;
    }
  }
  .eye-right {
    position: absolute;
    right: 0;
    border-radius: 40% 60% 40% 60% / 40% 60% 40% 60%;
    &::before {
      right: 60%;
    }
  }

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

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

      .jacket-body {
        position: absolute;
        left: 0%;
        bottom: 0%;
        width: 100%;
        height: 140%;
        background-color: $color-orange;
        border-radius: 48% 52% 50% 50% / 87% 90% 10% 13%;
        border-bottom: 1px solid $color-orange-dark;
      }
      .jacket-stroke-arm {
        position: absolute;
        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 {
        position: absolute;
        left: 49.5%;
        width: 1%;
        background-color: #000;
        height: 100%;
        transform: rotate(2deg);
      }
      .glove {
        position: absolute;
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-brown;

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

      .glove-left {
        left: -2%;

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

        &::before {
          left: -12%;
        }
      }
    }
  }

  .legs {
    position: absolute;
    bottom: 3%;
    left: 15%;
    width: 70%;
    height: 20%;
    background-color: $color-orange;
  }
  .feet {
    position: absolute;
    bottom: 0;
    left: 9%;
    width: 82%;
    height: 8%;
    .foot {
      position: absolute;
      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;
    }
  }
}


/********************************
 * Butters Stotch 
 *******************************/
.butters {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;
  
  .hairs {
    width: 96%;
    height: 40%;
    left: 2%;
    top: -10%;
    
    .hair {
      width: 0;
      height: 0;
      border: 0 solid transparent;
    }
    .hair-1 {
      top: 25%;
      left: 22%;
      border-left-width: 30px;
      border-right-width: 50px;
      border-top: 120px solid $color-yellow;
      transform:rotate(38deg);
    }
    .hair-2 {
      top: 30%;
      left: -6%;
      border: 0 solid transparent;
      border-top-width: 33px;
      border-bottom-width: 22px;
      border-right: 140px solid $color-yellow;
      transform:rotate(-20deg);
    }
    .hair-3 {
      top: 0%;
      left: 15%;
      border: 0 solid transparent;
      border-top-width: 20px;
      border-bottom-width: 10px;
      border-right: 100px solid $color-yellow;
      transform:rotate(35deg);
    }
    .hair-4 {
      top: 5%;
      left: 45%;
      border: 0 solid transparent;
      border-top-width: 20px;
      border-bottom-width: 10px;
      border-right: 120px solid $color-yellow;
      transform:rotate(155deg);
    }
    .hair-5 {
      top: 32%;
      left: 55%;
      border: 0 solid transparent;
      border-top-width: 20px;
      border-bottom-width: 10px;
      border-right: 120px solid $color-yellow;
      transform:rotate(204deg);
    }
    .hair-6 {
      top: 50%;
      left: 46%;
      border: 0 solid transparent;
      border-top-width: 40px;
      border-bottom-width: 20px;
      border-right: 140px solid $color-yellow;
      transform:rotate(230deg);
    }
  }
  .head {
    top: 9%;
    width: 100%;
    height: 63%;
    background-color: $color-skin;
    border-radius: 50%;
  }
  .face {
    bottom: 0;
    left: 0;
    background-color: $color-skin;
    width: 100%;
    height: 60%;
    border-radius: 50% 50% 50% 50% / 20% 20% 80% 80%;
  }
  
  .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 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 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-butters-green-light;
        border-radius: 48% 52% 50% 50% / 87% 90% 10% 13%;
      }
      .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-butters-green-light;
        }
      }
      .jacket-stroke-arm-left {
        left: 12%;
        &::before {
          left: 7%;
        }
      }
      .jacket-stroke-arm-right {
        right: 12%;
        &::before {
          right: 7%;
        }
      }
      .jacket-stroke-center {
        left: 49.5%;
        width: 1%;
        background-color: #000;
        height: 100%;
        transform: rotate(2deg);
      }
      .hand {
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-skin;

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

      .hand-left {
        left: -2%;

        &::before {
          right: -12%;
        }
      }
      .hand-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;
    }
  }
}

/********************************
 * Token Black
 *******************************/
.token {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;

  .head {
    top: 9%;
    width: 100%;
    height: 62%;
    background-color: $color-hair-dark;
    border-radius: 30% 30% 50% 50%;
    &::before {
      bottom: 0;
      width: 100%;
      height: 50%;
      background-color: $color-skin-dark;
      border-radius: 50% 50% 51% 49% / 0% 0% 100% 100%;
    }
    &::after {
      border: 4px dashed $color-hair-dark;
      width: calc(100% - 0px);
      height: 99%;
      border-radius: 30% 30% 50% 50%;
      top: -4px;
      left: 0;
      z-index: -1;
    }
  }
  .face {
    bottom: 0;
    left: 0;
    background-color: $color-skin-dark;
    width: 100%;
    height: 80%;
    border-top: 4px dashed $color-hair-dark;
    border-radius: 50% 50% 50% 50% / 20% 20% 75% 75%;
  }
  .eyes {
    bottom: 100px;
    left: 21%;
    height: 90px;
    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%;
    bottom: 20%;
    width: 15%;
    height: 50%;
    border: solid 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 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-token-pink;
        border-radius: 48% 52% 50% 50% / 87% 90% 10% 13%;
        padding-top: 28%;
        text-align: center;
        font-size: 90px;
        font-family: "Carter One", cursive;
        color: $color-token-yellow;
      }
      .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-token-pink;
        }
      }
      .jacket-stroke-arm-left {
        left: 12%;
        &::before {
          left: 7%;
        }
      }
      .jacket-stroke-arm-right {
        right: 12%;
        &::before {
          right: 7%;
        }
      }
      .hand {
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-skin-dark;

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

      .hand-left {
        left: -2%;

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

        &::before {
          left: -12%;
        }
      }
    }
  }

  .legs {
    bottom: 3%;
    left: 15%;
    width: 70%;
    height: 20%;
    background-color: $color-token-blue-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;
    }
  }
}


/********************************
 * Craig Tucker
 *******************************/
.craig {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;

  .head {
    top: 9%;
    width: 100%;
    height: 63%;
    background-color: $color-blue;
    border-radius: 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-top {
    top: -4%;    
    left: 40%;
    background-color: $color-yellow;
    width: 20%;
    height: 10%;
    border-radius: 50%;
  }
  .cap-ear{
    top: 40%;
    width: 6%;
    height: 50%;
    background-color: $color-blue;
    z-index:4;
  }
  .cap-ear-left{
    left: -1px;
    border-radius: 40% 0 40% 40%;
  }
  .cap-ear-right{
    right: -1px;
    border-radius: 0 40% 40% 40%;
  }
  .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 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 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-blue;
        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-blue-dark;
      }

      .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-blue;
        }
      }
      .jacket-stroke-arm-left {
        left: 12%;
        &::before {
          left: 7%;
        }
      }
      .jacket-stroke-arm-right {
        right: 12%;
        &::before {
          right: 7%;
        }
      }
      .jacket-stroke-center {
        left: 49.5%;
        width: 1%;
        background-color: #000;
        height: 100%;
        transform: rotate(2deg);
      }
      .jacket-buttons {
        top: 62%;
        left: 44%;
        width: 3%;
        height: 6%;
        background-color: #000;
        border-radius: 50%;
        transform: rotate(2deg);
        &::before, &::after {
          height: 100%;
          width: 100%;
          background-color: #000;
          border-radius: 50%;
        }
        &::before {
          top: -350%;
        }
        &::after {
          top: 350%;
        }
      }
      .hand {
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-skin;

        &::before {
          width: 40%;
          height: 40%;
          background-color: $color-skin;
          top: 14%;
          border-radius: 50%;
        }
      }
      .hand-left {
        left: -2%;

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

        &::before {
          left: -12%;
        }
      }
    }
  }
  
  .legs {
    bottom: 3%;
    left: 15%;
    width: 70%;
    height: 20%;
    background-color: #000;
  }
  .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;
    }
  }
}

/********************************
 * Tweek Tweak
 *******************************/
.tweek {
  position: relative;
  width: $character-size * 0.63;
  height: $character-size;
  
  .hairs {
    width: 100%;
    height: 100%;
    
    .hair-back {
      background-color: $color-yellow;
      top: -35%;
      left: -35%;
      width: 160%;
      height: 160%;
      clip-path: polygon(49% 77%, 29% 78%, 24% 79%, 23% 74%, 19% 77%, 19% 65%, 11% 64%, 18% 52%, 4% 51%, 19% 42%, 12% 38%, 25% 33%, 16% 21%, 32% 21%, 33% 11%, 44% 18%, 67% 19%, 83% 15%, 78% 20%, 96% 21%, 78% 31%, 92% 33%, 86% 36%, 96% 37%, 88% 43%, 100% 54%, 87% 53%, 94% 64%, 88% 64%, 93% 74%, 82% 70%, 82% 79%, 74% 76%);
      
    }
    .hair {
      width: 0;
      height: 0;
      border: 0 solid transparent;
      z-index: 10;
    }
    .hair-t1 {
      position: asbolute;
      top: 160px;
      left: -30px;
      border: 0 solid transparent;
      border-top-width: 10px;
      border-bottom-width: 20px;
      border-right: 80px solid $color-yellow;
      transform:rotate(-90deg);
    }
    .hair-t2 {
      top: 120px;
      left: -25px;
      border: 0 solid transparent;
      border-top-width: 30px;
      border-bottom-width: 20px;
      border-right: 80px solid $color-yellow;
      transform:rotate(-110deg);
    }
    .hair-t3 {
      top: 83px;
      left: 5px;
      border: 0 solid transparent;
      border-top-width: 30px;
      border-bottom-width: 20px;
      border-right: 60px solid $color-yellow;
      transform:rotate(-130deg);
    }
    .hair-t4 {
      top: 42px;
      left: 4px;
      border: 0 solid transparent;
      border-top-width: 30px;
      border-bottom-width: 20px;
      border-right: 60px solid $color-yellow;
      transform:rotate(-25deg);
    }
    .hair-t5 {
      top: 5px;
      left: 44px;
      border: 0 solid transparent;
      border-top-width: 30px;
      border-bottom-width: 20px;
      border-right: 60px solid $color-yellow;
      transform:rotate(-5deg);
    }
    .hair-t6 {
      top: -23px;
      left: 90px;
      border: 0 solid transparent;
      border-top-width: 40px;
      border-bottom-width: 20px;
      border-right: 80px solid $color-yellow;
      transform:rotate(25deg);
    }
    .hair-t7 {
      top: -18px;
      left: 160px;
      border: 0 solid transparent;
      border-top-width: 40px;
      border-bottom-width: 20px;
      border-right: 80px solid $color-yellow;
      transform:rotate(35deg);
    }
    .hair-t8 {
      top: 32px;
      left: 230px;
      border: 0 solid transparent;
      border-top-width: 30px;
      border-bottom-width: 20px;
      border-right: 80px solid $color-yellow;
      transform:rotate(200deg);
    }
    .hair-t9 {
      top: 55px;
      left: 255px;
      border: 0 solid transparent;
      border-top-width: 40px;
      border-bottom-width: 20px;
      border-right: 80px solid $color-yellow;
      transform:rotate(80deg);
    }
    .hair-t10 {
      top: 150px;
      left: 272px;
      border: 0 solid transparent;
      border-top-width: 20px;
      border-bottom-width: 20px;
      border-right: 90px solid $color-yellow;
      transform:rotate(240deg);
    }
  }
  .head {
    oopacity: 40%;
    top: 9%;
    width: 100%;
    height: 63%;
    background-color: $color-skin;
    border-radius: 50%;
    z-index: 4;
  }
  .face {
    bottom: 0;
    left: 0;
    background-color: $color-skin;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: 6;
  }
  
  .eyes {
    bottom: 100px;
    left: 21%;
    height: 90px;
    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%;
    bottom: 20%;
    width: 15%;
    height: 50%;
    border: solid 5px #000;
    border-color: transparent transparent #000 transparent;
    border-radius: 0 0 40px 50% / 10%;
  }

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

    .shirt-body {
      top: 0;
      left: 3%;
      width: 94%;
      height: 82%;
      z-index: 3;
      .shirt {
        left: 0%;
        bottom: 0%;
        width: 100%;
        height: 140%;
        background-color: $color-tweek-grey;
        border-radius: 48% 52% 50% 50% / 87% 90% 10% 13%;
      }
      .shirt-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-tweek-grey;
        }
      }
      .shirt-stroke-arm-left {
        left: 12%;
        &::before {
          left: 7%;
        }
      }
      .shirt-stroke-arm-right {
        right: 12%;
        &::before {
          right: 7%;
        }
      }
      .shirt-collar {
        width: 32%;
        height: 17%;
        left: 12%;
        top: 9%;
        border: 1px solid $color-tweek-grey-dark;
        border-width: 0 2px 2px 0;
        z-index: 4;
        transform: rotate(40deg);
      }
      .shirt-collar-right {
        width: 25%;
        height: 25%;
        right: 15%;
        top: 4%;
        border: 1px solid $color-tweek-grey-dark;
        border-width: 0 0 2px 2px;
        z-index: 4;
        transform: rotate(-50deg);
      }
      .shirt-skin{
        top: 45px;
        left: calc(50% - 22px);
        width: 0;
        height: 0;
        border: 0 solid transparent;
        border-left-width: 24px;
        border-right-width: 24px;
        border-top: 34px solid $color-skin;
        
        &::before {
          top: 60px;
          width: 0;
          height: 0;
          border: 0 solid transparent;
          border-bottom-width: 10px;
          border-top-width: 5px;
          border-left: 90px solid $color-skin;
          transform: rotate(4deg);
        }
        &::after {
          top: 28px;
          left: 5px;
          width: 6px;
          height: 12px;
          background-color: $color-skin;
          border-radius: 30%;
          transform: rotate(14deg);
        }
      }
      .shirt-buttons-stroke {
        top: 52%;
        left: 48.5%;
        width: 4%;
        height: 37%;
        border: 2px solid $color-tweek-grey-dark;
        border-width: 0 0 2px 2px; 
        transform: rotate(11deg);
      }
      .shirt-buttons {
        &::before, 
        &::after {
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background-color: #000;
        }
      }
      .shirt-buttons-1 {
        &::before {
          top: 82px;
          left: 152px;
        }
        &::after {
          top: 122px;
          left: 146px;
        }
      }
      .shirt-buttons-2 {
        &::before {
          top: 98px;
          left: 150px;
        }
        &::after {
          top: 140px;
          left: 140px;
        }
      }
      .hand {
        bottom: 7%;
        width: 18%;
        height: 36%;
        border-radius: 50%;
        background-color: $color-skin;

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

      .hand-left {
        left: -2%;

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

        &::before {
          left: -12%;
        }
      }
    }
  }
  
  .legs {
    bottom: 3%;
    left: 15%;
    width: 70%;
    height: 20%;
    background-color: $color-tweek-blue-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.