Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <div id="wrapper">
  <h1>CHECKBOX <span>DESIGN</span></h1>
  <p>Click on the box! bro!</p>
  <ul>
    <!-- Beard { -->
    <li class="check beard_check">
      <input type="checkbox" id="beardcheck" value="">
      <label for="beardcheck">OK</label>
      <div class="head_wrap">
        <div class="hat"></div>
        <div class="face">
          <div class="nose"></div>
          <div class="ear">
            <div class="left"></div>
            <div class="right"></div>
          </div>
        </div>
        <div class="beard_up"></div>
        <div class="beard"></div>
        <div class="body"></div>
      </div>
    </li>
    <!-- } Beard -->

    <!-- Pants { -->
    <li class="check pants_check">
      <input type="checkbox" id="pantscheck" value="">
      <label for="pantscheck">OK</label>
      <div class="pants_wrap">
        <div class="body">
          <div class="foot">
            <div class="underwear">
              <div class="important"></div>
            </div>
          </div>
        </div>
        <div class="belt">
          <div class="buckle"></div>
        </div>
        <div class="pants">
          <div class="pocket"></div>
          <div class="zipper"></div>
        </div>
      </div>
    </li>
    <!-- } Pants -->

    <!-- Cook { -->
    <li class="check cook_check">
      <input type="checkbox" id="cookcheck" value="">
      <label for="cookcheck">OK</label>
      <div class="head_wrap">
        <div class="hat">
          <div class="hat_top"></div>
        </div>
        <div class="face">
          <div class="nose"></div>
          <div class="ear">
            <div class="left"></div>
            <div class="right"></div>
          </div>
        </div>
        <div class="beard_up"></div>
        <div class="beard"></div>
        <div class="body"></div>
      </div>
      <div class="head_wrap">
        <div class="hat">
          <div class="hat_top"></div>
        </div>
        <div class="face">
          <div class="nose"></div>
          <div class="ear">
            <div class="left"></div>
            <div class="right"></div>
          </div>
        </div>
        <div class="beard_up"></div>
        <div class="beard"></div>
        <div class="body"></div>
      </div>
    </li>
    <!-- } Cook -->

    <!-- Mr.T { -->
    <li class="check ba_check">
      <input type="checkbox" id="bacheck" value="">
      <label for="bacheck">OK</label>
      <div class="head_wrap">
        <div class="hair"></div>
        <div class="face">
          <div class="eyes">
            <span></span>
            <span></span>
          </div>
          <div class="nose"></div>
          <div class="ear">
            <div class="left"></div>
            <div class="right"></div>
          </div>
        </div>
        <div class="beard_up"></div>
        <div class="beard"></div>
        <div class="body">
          <span></span>
        </div>
        <div class="hand">
          <span></span>
          <span></span>
        </div>
      </div>
    </li>
    <!-- } Mr.T -->

  </ul>
</div>
              
            
!

CSS

              
                * {
  transition: .3s ease-in-out;
}

*:before,
*:after {
  transition: .3s ease-in-out;
}

body {
  background: #F4F4F4
}

#wrapper {
  text-align: center;
}

h1 {
  margin-bottom: 20px;
  font-size: 50px;
  font-weight: 100;
  line-height: 110%;
  text-transform: uppercase;
}

h1 span {
  display: block;
  font-size: 70px;
  font-weight: bold;
}

p {
  font-size: 20px;
  color: #BBB;
  text-transform: uppercase;
}

ul {
  display: inline-block;
  list-style: none;
  overflow: hidden;
}

ul li {
  margin: 15px;
  width: 200px;
  height: 200px;
  background: #999;
  border: 10px solid #FFF;
  float: left;
  position: relative;
}

.check input[type="checkbox"] {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  cursor: pointer;
  opacity: 0;
}

.check label {
  display: none;
}

.check:before {
  content: "UNCHECKED";
  display: none;
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  color: #333;
  text-align: center;
  position: absolute;
  bottom: 5px;
  left: 0;
  z-index: 10;
}

.check:hover:before {
  content: "CHECK?"
}

.check.on:before {
  content: "CHECKED";
}
/* =============================================================
Beard Check
============================================================= */

.beard_check .hat {
  margin: -50px 0 0 -45px;
  width: 90px;
  height: 30px;
  background: #ccc;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
}

.beard_check .hat:after {
  content: "";
  margin: 0 0 0 -40px;
  width: 80px;
  height: 30px;
  border-top-left-radius: 120%;
  border-top-right-radius: 120%;
  background: #ccc;
  position: absolute;
  top: -20px;
  left: 50%;
}

.beard_check .face {
  margin: -30px 0 0 -30px;
  width: 60px;
  height: 60px;
  background: #FFF;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 25px;
  border-bottom-left-radius: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}

.beard_check .face:before {
  content: "";
  width: 10px;
  height: 5px;
  background: #999;
  position: absolute;
  top: 15px;
  left: 10px;
}

.beard_check .face:after {
  content: "";
  width: 10px;
  height: 5px;
  background: #999;
  position: absolute;
  top: 15px;
  right: 10px;
}

.beard_check .nose {
  margin: -15px 0 0 -7px;
  width: 15px;
  height: 25px;
  background: #ccc;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  border-bottom-right-radius: 100%;
  border-bottom-left-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
}

.beard_check .ear .left {
  width: 10px;
  height: 20px;
  background: #FFF;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px;
  position: absolute;
  top: 10px;
  left: -10px;
}

.beard_check .ear .left:before {
  content: "";
  width: 5px;
  height: 100%;
  background: #666;
  position: absolute;
  top: 0;
  right: 0;
}

.beard_check .ear .right {
  width: 10px;
  height: 20px;
  background: #FFF;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 0;
  position: absolute;
  top: 10px;
  right: -10px;
}

.beard_check .ear .right:before {
  content: "";
  width: 5px;
  height: 100%;
  background: #666;
  position: absolute;
  top: 0;
  left: 0;
}

.beard_check .beard {
  margin: -35px 0 0 -40px;
  width: 80px;
  height: 100px;
  background: #666;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  border-bottom-right-radius: 180%;
  border-bottom-left-radius: 180%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
}

.beard_check .beard_up {
  margin: 15px 0 0 -20px;
  width: 40px;
  height: 15px;
  background: #666;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
}

.beard_check .beard_up:before {
  content: "";
  width: 30px;
  height: 10px;
  background: #FFF;
  border-top-left-radius: 120%;
  border-top-right-radius: 120%;
  border-bottom-right-radius: 200%;
  border-bottom-left-radius: 200%;
  position: absolute;
  top: 5px;
  left: 5px;
}

.beard_check .beard_up:after {
  content: "";
  margin-left: -3px;
  width: 6px;
  height: 6px;
  background: inherit;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.beard_check .body {
  width: 100%;
  height: 80px;
  background: #888;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}
/* Hover */

.beard_check:hover .nose {
  animation: .5s noseup;
  -webkit-animation: .5s noseup;
}
/* checked */

.beard_check.on {
  background: #ffad65;
}

.beard_check.on .hat {
  background: #fb5454;
}

.beard_check.on .hat:after {
  background: #fb5454;
  top: -30px;
}

.beard_check.on .face,
.beard_check.on .beard_up:before,
.beard_check.on .ear .left,
.beard_check.on .ear .right {
  background: #ffd9b7;
}

.beard_check.on .beard,
.beard_check.on .beard_up,
.beard_check.on .ear .left:before,
.beard_check.on .ear .right:before {
  background: #333;
}

.beard_check.on .nose {
  background: #ff8f8f;
  animation: .2s noseshake .3s;
  -webkit-animation: .2s noseshake .3s;
}

.beard_check.on .face:before {
  width: 5px;
  border-radius: 50%;
  background: #333;
  left: 12px;
}

.beard_check.on .face:after {
  width: 5px;
  border-radius: 50%;
  background: #333;
  right: 12px;
}

.beard_check.on .body {
  height: 100px;
  background: #2d682c;
}
/* Animation */

@keyframes noseshake {
  0% {
    margin-left: -5px;
  }
  50% {
    margin-left: -9px;
  }
  100% {
    margin-left: -7px;
  }
}

@-webkit-keyframes noseshake {
  0% {
    margin-left: -5px;
  }
  50% {
    margin-left: -9px;
  }
  100% {
    margin-left: -7px;
  }
}

@keyframes noseup {
  0% {
    height: 20px;
  }
  25% {
    height: 23px;
  }
  50% {
    height: 20px;
  }
  100% {
    height: 25px;
  }
}

@-webkit-keyframes noseup {
  0% {
    height: 20px;
  }
  25% {
    height: 23px;
  }
  50% {
    height: 20px;
  }
  100% {
    height: 25px;
  }
}
/* =============================================================
Pants Check
============================================================= */

.pants_check {
  overflow: hidden;
}

.pants_check .body {
  width: 120px;
  height: 50px;
  background: #f4f4f4;
  position: absolute;
  top: 0;
  left: 40px;
}

.pants_check .body:after {
  content: "";
  margin-left: -2px;
  width: 4px;
  height: 10px;
  background: #BBB;
  border-radius: 120%;
  position: absolute;
  top: 32px;
  left: 50%;
}

.pants_check .foot {
  width: 120px;
  height: 150px;
  background: #F4F4F4;
  position: absolute;
  bottom: -150px;
  left: 0;
}

.pants_check .foot:after {
  content: "";
  margin-left: -45px;
  width: 90px;
  height: 75px;
  background: #999;
  border-top-left-radius: 10%;
  border-top-right-radius: 10%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.pants_check .underwear {
  width: 100%;
  height: 80px;
  background: #FFF;
  border-top: 2px solid #EEE;
  border-bottom: 2px solid #EEE;
  position: absolute;
  top: 20px;
  left: 0;
}

.pants_check .underwear:before {
  content: "";
  display: block;
  width: 100%;
  height: 15px;
  border-bottom: 2px solid #EEE;
}

.pants_check .underwear:after {
  content: "";
  margin: -10px 0 0 -25px;
  width: 50px;
  height: 40px;
  background: #ffcc00;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  opacity: .4;
  position: absolute;
  top: 50%;
  left: 50%;
}

.pants_check .important {
  margin-left: -8px;
  width: 16px;
  height: 100%;
  border-right: 2px solid #EEE;
  border-left: 2px solid #EEE;
  position: absolute;
  top: 17px;
  left: 50%;
}

.pants_check .important:after {
  content: "";
  width: 2px;
  height: 100%;
  background: #EEE;
  position: absolute;
  top: 0;
  right: 2px;
}

.pants_check .belt {
  margin-left: -72px;
  width: 144px;
  height: 15px;
  background: #888;
  position: absolute;
  top: 50px;
  left: 50%;
  z-index: 4;
}

.pants_check .belt:before {
  content: "";
  width: 10px;
  height: 19px;
  background: #666;
  border-radius: 2px;
  position: absolute;
  top: -2px;
  left: 35px;
}

.pants_check .belt:after {
  content: "";
  width: 10px;
  height: 19px;
  background: #666;
  border-radius: 2px;
  position: absolute;
  top: -2px;
  right: 35px;
}

.pants_check .buckle {
  margin-left: -12px;
  width: 24px;
  height: 19px;
  background: #FFF;
  border-radius: 3px;
  position: absolute;
  top: -2px;
  left: 50%;
}

.pants_check .pants {
  width: 140px;
  height: 135px;
  background: #666;
  overflow: hidden;
  position: absolute;
  top: 65px;
  left: 30px;
  z-index: 3;
}

.pants_check .pants:before {
  content: "";
  margin: 0 0 0 0;
  width: 0;
  height: 0;
  background: #000;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  opacity: .2;
  position: absolute;
  bottom: 50%;
  left: 50%;
  z-index: 5;
}

.pants_check .pants:after {
  content: "";
  margin-left: -45px;
  width: 90px;
  height: 75px;
  background: #999;
  border-top-left-radius: 10%;
  border-top-right-radius: 10%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 6;
}

.pants_check .pants .pocket {
  width: 50px;
  height: 50px;
  border: 2px solid #777;
  border-radius: 25px;
  position: absolute;
  top: -25px;
  left: -25px;
}

.pants_check .pants .pocket:after {
  content: "";
  width: 50px;
  height: 50px;
  border: 2px solid #777;
  border-radius: 25px;
  position: absolute;
  top: 0;
  right: -140px;
}

.pants_check .pants .zipper {
  margin-left: -8px;
  width: 16px;
  height: 45px;
  border: 2px solid #777;
  border-top: 0;
  position: absolute;
  top: 0;
  left: 50%;
}

.pants_check .pants .zipper:before {
  content: "";
  width: 2px;
  height: 100%;
  background: #777;
  position: absolute;
  top: 0;
  right: 2px;
}

.pants_check .pants .zipper:after {
  content: "";
  width: 2px;
  height: 13px;
  background: #777;
  position: absolute;
  bottom: -15px;
  left: -2px;
}
/* Hover */

.pants_check:hover .pants:before {
  margin-left: -30px;
  width: 60px;
  height: 30px;
  transition: 1s ease-in-out;
}
/* Checked */

.pants_check.on {
  background: #ff7a7a;
}

.pants_check.on .body,
.pants_check.on .foot {
  background: #ffd9b7;
}

.pants_check.on .body:after {
  background: #b38b67;
}

.pants_check.on .belt {
  top: 170px;
}

.pants_check.on .pants {
  background: #009cff;
  top: 185px;
}

.pants_check.on .pants:after,
.pants_check.on .foot:after {
  background: #ff7a7a;
}

.pants_check.on .pants .pocket,
.pants_check.on .pants .pocket:after,
.pants_check.on .pants .zipper {
  border-color: #0079c6;
}

.pants_check.on .pants .zipper:before,
.pants_check.on .pants .zipper:after {
  background: #0079c6;
}

.pants_check.on .belt {
  background: #b67400;
}

.pants_check.on .belt:before,
.pants_check.on .belt:after {
  background: #009cff;
}

.pants_check.on .buckle {
  background: #ffd200;
}
/* =============================================================
Beard Check
============================================================= */

.cook_check {
  overflow: hidden;
}

.cook_check .head_wrap {
  width: 200px;
  height: 200px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.cook_check .head_wrap + .head_wrap {
  z-index: 1;
}

.cook_check .hat {
  margin: 0 0 0 -30px;
  width: 60px;
  height: 60px;
  background: #F4F4F4;
  position: absolute;
  top: 20px;
  left: 50%;
  z-index: 4;
}

.cook_check .hat_top {
  margin-left: -25px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #F4F4F4;
  position: absolute;
  top: -15px;
  left: 50%;
}

.cook_check .hat_top:before {
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #F4F4F4;
  position: absolute;
  top: 0;
  left: -25px;
}

.cook_check .hat_top:after {
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #F4F4F4;
  position: absolute;
  top: 0;
  right: -25px;
}

.cook_check .face {
  margin: -30px 0 0 -30px;
  width: 60px;
  height: 60px;
  background: #FFF;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 25px;
  border-bottom-left-radius: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}

.cook_check .face:before {
  content: "";
  width: 10px;
  height: 5px;
  background: #999;
  position: absolute;
  top: 15px;
  left: 10px;
}

.cook_check .face:after {
  content: "";
  width: 10px;
  height: 5px;
  background: #999;
  position: absolute;
  top: 15px;
  right: 10px;
}

.cook_check .nose {
  margin: -15px 0 0 -7px;
  width: 15px;
  height: 25px;
  background: #ccc;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  border-bottom-right-radius: 100%;
  border-bottom-left-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
}

.cook_check .ear .left {
  width: 10px;
  height: 20px;
  background: #FFF;
  border-top-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px;
  position: absolute;
  top: 10px;
  left: -10px;
}

.cook_check .ear .left:before {
  content: "";
  width: 5px;
  height: 21px;
  background: #666;
  border-top-left-radius: 10px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.cook_check .ear .right {
  width: 10px;
  height: 20px;
  background: #FFF;
  border-top-left-radius: 0;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 0;
  position: absolute;
  top: 10px;
  right: -10px;
}

.cook_check .ear .right:before {
  content: "";
  width: 5px;
  height: 21px;
  background: #666;
  border-top-right-radius: 10px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.cook_check .beard {
  margin: 0 0 0 -35px;
  width: 70px;
  height: 35px;
  background: #666;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 180%;
  border-bottom-left-radius: 180%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
}

.cook_check .beard_up {
  margin: 15px 0 0 -20px;
  width: 40px;
  height: 15px;
  background: #666;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
}

.cook_check .beard_up:before {
  content: "";
  width: 30px;
  height: 10px;
  background: #FFF;
  border-top-left-radius: 120%;
  border-top-right-radius: 120%;
  border-bottom-right-radius: 200%;
  border-bottom-left-radius: 200%;
  position: absolute;
  top: 5px;
  left: 5px;
}

.cook_check .beard_up:after {
  content: "";
  margin-left: -3px;
  width: 6px;
  height: 6px;
  background: inherit;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.cook_check .body {
  width: 100%;
  height: 80px;
  background: #F4F4F4;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}
/* Hover */
.cook_check:hover .head_wrap + .head_wrap { bottom: -30px; left: 30px; transform: rotate(10deg); }
.cook_check:hover .head_wrap + .head_wrap .hat,
.cook_check:hover .head_wrap + .head_wrap .hat_top,
.cook_check:hover .head_wrap + .head_wrap .hat_top:before,
.cook_check:hover .head_wrap + .head_wrap .hat_top:after,
.cook_check:hover .head_wrap + .head_wrap .body { background: #ccc; }
.cook_check:hover .head_wrap + .head_wrap .face,
.cook_check:hover .head_wrap + .head_wrap .ear .right,
.cook_check:hover .head_wrap + .head_wrap .ear .left { background: #e3e3e3; }
/* Checked */

.cook_check.on {
  background: #4aa0ff;
}

.cook_check.on .head_wrap {
  left: -50px;
}

.cook_check.on .head_wrap + .head_wrap {
  left: 50px;
}

.cook_check.on .face,
.cook_check.on .beard_up:before,
.cook_check.on .ear .right,
.cook_check.on .ear .left {
  background: #ffd9b7;
}

.cook_check.on .face:before,
.cook_check.on .face:after {
  width: 5px;
  border-radius: 50%;
  background: #333;
}

.cook_check.on .nose {
  background: #ff8f8f;
}
.cook_check.on:hover .head_wrap + .head_wrap { bottom: -30px; left: 50px; transform: rotate(0); }
.cook_check.on:hover .head_wrap + .head_wrap .hat,
.cook_check.on:hover .head_wrap + .head_wrap .hat_top,
.cook_check.on:hover .head_wrap + .head_wrap .hat_top:before,
.cook_check.on:hover .head_wrap + .head_wrap .hat_top:after,
.cook_check.on:hover .head_wrap + .head_wrap .body { background: #f4f4f4; }
.cook_check.on:hover .head_wrap + .head_wrap .face,
.cook_check.on:hover .head_wrap + .head_wrap .ear .right,
.cook_check.on:hover .head_wrap + .head_wrap .ear .left { background: #ffd9b7; }

/* =============================================================
B.A Check
============================================================= */

.ba_check .hair {
  margin: 0 0 0 -15px;
  width: 30px;
  height: 20px;
  background: #666;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  position: absolute;
  top: 40px;
  left: 50%;
  z-index: 3;
}

.ba_check .face {
  margin: -30px 0 0 -35px;
  width: 70px;
  height: 80px;
  background: #ccc;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  border-bottom-left-radius: 25px;
  position: absolute;
  top: 80px;
  left: 50%;
  z-index: 2;
}

.ba_check .eyes {
  width: 100%;
  position: absolute;
  top: 20px;
  left: 0;
}

.ba_check .eyes span {
  width: 10px;
  height: 5px;
  background: #666;
  position: absolute;
  top: 17px;
  left: 15px;
}

.ba_check .eyes span + span {
  left: auto;
  right: 15px;
}

.ba_check .eyes span:before {
  content: "";
  width: 20px;
  height: 5px;
  background: #666;
  position: absolute;
  top: -10px;
  left: -5px;
}

.ba_check .eyes span + span:before {
  left: auto;
  right: -5px;
}

.ba_check .nose {
  margin: 0px 0 0 -7px;
  width: 15px;
  height: 20px;
  background: #999;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  border-bottom-right-radius: 100%;
  border-bottom-left-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
}

.ba_check .nose:before {
  content: "";
  width: 5px;
  height: 7px;
  background: #999;
  border-top-left-radius: 3px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 3px;
  position: absolute;
  bottom: 3px;
  left: -4px;  
}

.ba_check .nose:after {
  content: "";
  width: 5px;
  height: 7px;
  background: #999;
  border-top-left-radius: 0;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 3px;
  right: -4px;  
}

.ba_check .ear .left {
  width: 10px;
  height: 25px;
  background: #ccc;
  border-top-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 10px;
  position: absolute;
  top: 30px;
  left: -10px;
}

.ba_check .ear .left:before {
  content: "";
  width: 5px;
  height: 30px;
  background: #666;
  border-top-right-radius: 10px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.ba_check .ear .right {
  width: 10px;
  height: 25px;
  background: #ccc;
  border-top-left-radius: 0;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 0;
  position: absolute;
  top: 30px;
  right: -10px;
}

.ba_check .ear .right:before {
  content: "";
  width: 5px;
  height: 30px;
  background: #666;
  border-top-left-radius: 10px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.ba_check .beard {
  margin: 0 0 0 -40px;
  width: 80px;
  height: 35px;
  background: #666;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 180%;
  border-bottom-left-radius: 180%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
}

.ba_check .beard_up {
  margin: 15px 0 0 -20px;
  width: 40px;
  height: 15px;
  background: #666;
  border-top-left-radius: 200%;
  border-top-right-radius: 200%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
}

.ba_check .beard_up:before {
  content: "";
  width: 30px;
  height: 10px;
  background: #ccc;
  border-top-left-radius: 120%;
  border-top-right-radius: 120%;
  border-bottom-right-radius: 200%;
  border-bottom-left-radius: 200%;
  position: absolute;
  top: 5px;
  left: 5px;
}

.ba_check .beard_up:after {
  content: "";
  margin-left: -3px;
  width: 6px;
  height: 6px;
  background: #666;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.ba_check .body {
  width: 100%;
  height: 80px;
  background: #ccc;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}

.ba_check .body span {
  display: block;
  margin-left: -50px;
  height: 0;
  border-top: 150px solid #eee;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  position: absolute;
  top: 0;
  left: 50%;
}

.ba_check {
  overflow: hidden;
}

.ba_check .hand span {
  display: block;
  margin-left: -41px;
  width: 40px;
  height: 40px;
  background: #6c5141;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

.ba_check .hand span:before {
  content: "";
  width: 25px;
  height: 5px;
  background: inherit;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: absolute;
  top: -7px;
  left: 5px;
}

.ba_check .hand span:after {
  content: "";
  width: 60px;
  height: 25px;
  background: inherit;
  position: absolute;
  top: 15px;
  left: -60px;
}

.ba_check .hand span + span {
  margin: 0 -41px 0 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 5px;
  left: auto;
  right: 0;
}

.ba_check .hand span + span:before {
  left: auto;
  right: 5px;
}

.ba_check .hand span + span:after {
  left: auto;
  right: -60px;
}
/* Hover */

.ba_check:hover .ear .left {
  width: 15px;
  left: -15px;
}

.ba_check:hover .ear .right {
  width: 15px;
  right: -15px;
}

.ba_check:hover .eyes span:before {
  top: -15px;
}
/* Checked */

.ba_check.on {
  background: #41a87b;
}

.ba_check.on .hair,
.ba_check.on .beard,
.ba_check.on .beard_up,
.ba_check.on .beard_up:after,
.ba_check.on .eyes span,
.ba_check.on .ear .left:before,
.ba_check.on .ear .right:before {
  background: #333;
}

.ba_check.on .face,
.ba_check.on .ear .left,
.ba_check.on .ear .right,
.ba_check.on .beard_up:before {
  background: #926d57;
}

.ba_check.on .nose,
.ba_check.on .nose:before,
.ba_check.on .nose:after {
  background: #6c5141;
}

.ba_check.on .eyes span:before {
  background: #333;
  transform: rotate(15deg);
}

.ba_check.on .eyes span + span:before {
  transform: rotate(-15deg);
}

.ba_check.on .eyes span {
  width: 5px;
  border-radius: 3px;
  left: 17px;
}

.ba_check.on .eyes span + span {
  left: auto;
  right: 17px;
}

.ba_check.on:hover .eyes span:before {
  top: -10px;
}

.ba_check.on .body span {
  border-top-color: #ffc704;
}

.ba_check.on .body {
  height: 100px;
  background: #926d57;
}

.ba_check.on .hand span {
  left: 50%;
}

.ba_check.on .hand span + span {
  left: auto;
  right: 50%;
}
              
            
!

JS

              
                const inputs = document.querySelectorAll('input');

inputs.forEach(input => {
  input.addEventListener('click', function() {
    if (this.checked) {
      this.parentNode.classList.add('on');
    } else {
      this.parentNode.classList.remove('on');
    }
  });
});
              
            
!
999px

Console