.wrapper
  ul(class="wall")
    - for (var i=0; i<15; i++)
      li
  .crown
    ul(class="round")
      - for (var i=0; i<17; i++)
        li
    ul(class="ball")
      - for (var i=0; i<12; i++)
        li
  .fireplace
    .bottom
      ul(class="ground")
        - for (var i=0; i<10; i++)
          li
    ul(class="top")
      - for (var i=0; i<10; i++)
        li
    ul(class="bricks")
      - for (var i=0; i<15; i++)
        li
    .chimney
    .chimney-shadow
    .chimney-fire-wrapper
      ul(class="wood")
        - for (var i=0; i<9; i++)
          li
      .fire
      ul(class="embers")
        - for (var i=0; i<7; i++)
          li
    .candle
      .fire
    .candle(id="candle-2")
      .fire
    .candle(id="candle-3")
      .fire
    .sock
      .second
    .sock(id="sock-2")
      .second
    .sock(id="sock-3")
      .second
View Compiled
/* ----------------------------------------------- */
/*                    Parameters                   */
/* ----------------------------------------------- */
/* --- Colors --- */
@color-background: #483741;
@color-background-lighten: #5a4450;
@color-background-darken: #503c47;
@color-font: #333333;
@color-fireplace: #cf705c;
@color-fireplace-darken: #b05945;
@color-fireplace-darken-2: #9e4f42;
@color-wood: #bd6b39;
@color-fire: #ff3602;
@color-fire-2: #ff8706;
@color-fire-3: #ffde04;
@color-red: #dc1e1e;
@color-green: #7bb218;
@color-orange: #fea604;
@color-crown: #7db111;
/* --- Fonts --- */
@import url('https://fonts.googleapis.com/css?family=Gloria+Hallelujah|Lato:400');

/* ----------------------------------------------- */
/* ----------------------------------------------- */

html, body {
  font-family: 'Lato', sans-serif;
  color: @color-font;
  background-color: @color-background;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.wrapper {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  height: 400px;
}

ul.wall {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 500px;
  height: 400px;
  li {
    position: absolute;
    width: 60px; height: 25px;
    border-radius: 2px;
    list-style: none;
    background-color: darken(@color-background, 4%);
  }
  li:nth-child(1) {
    top: 60px; left: 50px;
    background-color: @color-background-lighten;
  }
  li:nth-child(2) {
    top: 20px; left: 160px;
    background-color: @color-background-lighten;
  }
  li:nth-child(3) {
    top: 110px; left: 80px;
  }
  li:nth-child(4) {
    top: 110px; left: 150px;
  }
  li:nth-child(5) {
    top: 140px; left: 100px;
    background-color: @color-background-lighten;
  }
  li:nth-child(6) {
    top: 70px; left: 240px;
  }
  li:nth-child(7) {
    top: 100px; left: 280px;
    background-color: @color-background-darken;
  }
  li:nth-child(8) {
    top: 40px; left: 350px;
  }
  li:nth-child(9) {
    top: 190px; left: 35px;
  }
  li:nth-child(10) {
    top: 220px; left: 20px;
    background-color: @color-background-darken;
  }
  li:nth-child(11) {
    top: 270px; left: 70px;
    background-color: @color-background-lighten;
  }
  li:nth-child(12) {
    top: 300px; left: 20px;
    background-color: @color-background-darken;
  }
  li:nth-child(13) {
    top: 220px; right: 70px;
    background-color: @color-background-lighten;
  }
  li:nth-child(14) {
    top: 260px; right: 90px;
  }
  li:nth-child(15) {
    top: 140px; right: 60px;
    background-color: @color-background-darken;
  }
  }

ul.ground {
  position: absolute;
  top: 45px;
  left: 50%;
  transform: translatex(-50%);
  width: 1000px;
  height: 200px;
  li {
    list-style: none;
    position: absolute;
    height: 10px;
    border-radius: 10px;
    background-color: @color-background-lighten;
  }
  /* Line 1 */
  li:nth-child(1) {
    top: 0px; left: 10px;
    width: 120px;
  }
  li:nth-child(2) {
    top: 0px; left: 150px;
    width: 700px;
  }
  li:nth-child(3) {
    top: 0px; left: 860px;
    width: 100px;
  }
  li:nth-child(4) {
    top: 0px; left: 970px;
    width: 70px;
  }
  /* Line 2 */
  li:nth-child(5) {
    top: 30px; left: 50px;
    width: 180px;
  }
  li:nth-child(6) {
    top: 30px; left: 400px;
    width: 280px;
  }
  li:nth-child(7) {
    top: 30px; left: 750px;
    width: 240px;
  }
  /* Line 3 */
  li:nth-child(8) {
    top: 60px; left: 600px;
    width: 200px;
  }
  li:nth-child(9) {
    top: 60px; left: 160px;
    width: 160px;
  }
  li:nth-child(10) {
    top: 60px; left: 360px;
    width: 70px;
  }
}

ul.embers {
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translatex(-50%);
  width: 200px; height: 200px;
  li {
    opacity: 0;
    list-style: none;
    position: absolute;
    height: 5px; width: 5px;
    border-radius: 30px;
    background-color: @color-fire-2;
    animation: blink_ember 4s 0s ease-in-out infinite;
  }
  /* Line 1 */
  li:nth-child(1) {
    top: 0px; left: 100px;
    animation-delay: 0s;
  }
  li:nth-child(2) {
    top: 10px; left: 150px;
    height: 8px; width: 8px;
    background-color: @color-fire-3;
    animation-delay: 0.4s;
  }
  li:nth-child(3) {
    top: 40px; left: 80px;
    height: 8px; width: 8px;
    background-color: @color-fire-3;
    animation-delay: 0.6s;
  }
  li:nth-child(4) {
    top: 30px; left: 50px;
    height: 12px; width: 12px;
    animation-delay: 1.1s;
  }
  li:nth-child(6) {
    top: 30px; left: 180px;
    height: 4px; width: 4px;
    animation-delay: 1.4s;
  }
  li:nth-child(7) {
    top: 60px; left: 160px;
    animation-delay: 0.9s;
  }
}

.crown {
  position: absolute;
  left: 50%; top: 0;
  transform: translateX(-50%);
  ul.round {
    z-index: 2;
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%) scale(1.2);
    margin: 0; padding: 0;
    li {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      list-style: none;
      border-radius: 50%;
    }
    li:nth-child(1) {
      top: -20px; left: -65px;
      width: 12px; height: 12px;
      overflow: hidden;
      background-color: darken(@color-orange, 5%);
      transform: scale(3);
      &::before {
        content: "";
        position: absolute;
        right: 1px; bottom: 1px;
        width: 20px; height: 20px;
        border-radius: 50%;
        background-color: @color-orange;
      }
      &::after {
        content: "";
        position: absolute;
        left: 3px; top: 1px;
        width: 3px; height: 3px;
        border-radius: 50%;
        background-color: #dddddd;
      }
    }
    li:nth-child(2) {
      width: 50px; height: 50px;
      border: 5px solid @color-crown;
    }
    li:nth-child(3) {
      width: 60px; height: 60px;
      border: 5px solid darken(@color-crown, 15%);
    }
    li:nth-child(4) {
      width: 65px; height: 65px;
      border: 5px solid lighten(@color-crown, 5%);
    }
    li:nth-child(5) {
      width: 70px; height: 70px;
      border: 10px solid @color-crown;
    }
    li:nth-child(6) {
      width: 85px; height: 85px;
      border: 5px solid darken(@color-crown, 15%);
    }
    li:nth-child(7) {
      width: 90px; height: 90px;
      border: 15px solid @color-crown;
    }
    li:nth-child(8) {
      width: 105px; height: 105px;
      border: 10px solid darken(@color-crown, 5%);
    }
    li:nth-child(9) {
      left: 50px; top: -35px;
      transform: none;
      transform-origin: top left;
      transform: rotate(-85deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(10) {
      left: 50px; top: -35px;
      transform: none;
      transform-origin: top left;
      transform: rotate(-40deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(11) {
      left: -10px; top: 58px;
      transform: none;
      transform-origin: top left;
      transform: rotate(65deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(12) {
      left: -10px; top: 58px;
      transform: none;
      transform-origin: top left;
      transform: rotate(20deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(13) {
      left: -36px; top: -44px;
      transform: none;
      transform-origin: top left;
      transform: rotate(190deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(14) {
      left: -36px; top: -44px;
      transform: none;
      transform-origin: top left;
      transform: rotate(220deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(15) {
      left: 50px; top: 20px;
      transform: none;
      transform-origin: top left;
      transform: rotate(20deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(16) {
      left: 50px; top: 15px;
      transform: none;
      transform-origin: top left;
      transform: rotate(-50deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(17) {
      left: 50px; top: 15px;
      transform: none;
      transform-origin: top left;
      transform: rotate(-5deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
    li:nth-child(17) {
      left: -50px; top: 15px;
      transform: none;
      transform-origin: top left;
      transform: rotate(120deg);
      width: 15px; height: 15px;
      border-top-left-radius: 0;
      border-top-right-radius: 75px;
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 75px;
      background-color: @color-crown;
      overflow: hidden;
      &::after {
        content: "";
        position: absolute;
        right: -10px; top: -10px;
        width: 20px; height: 20px;
        background-color: darken(@color-crown, 10%);
        transform: rotate(45deg);
      }
    }
  }
  ul.ball {
    z-index: 2;
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 160px; height: 160px;
    margin: 0; padding: 0;
    li {
      z-index: 2;
      position: absolute;
      left: 0;
      list-style: none;
      border-radius: 50%;
      width: 12px; height: 12px;
      overflow: hidden;
      background-color: darken(@color-red, 5%);
      &::before {
        content: "";
        position: absolute;
        right: 2px; bottom: 2px;
        width: 20px; height: 20px;
        border-radius: 50%;
        background-color: @color-red;
      }
      &::after {
        content: "";
        position: absolute;
        left: 1px; top: 1px;
        width: 4px; height: 4px;
        border-radius: 50%;
        background-color: #f5f5f5;
      }
    }
    li:nth-child(1) {
      top: 25px; left: 30px;
    }
    li:nth-child(2) {
      top: 42px; left: 15px;
    }
    li:nth-child(3) {
      top: 40px; left: 32px;
    }
    li:nth-child(4) {
      top: 90px; left: 20px;
    }
    li:nth-child(5) {
      top: 50px; left: 95px;
    }
    li:nth-child(6) {
      top: 80px; left: 120px;
    }
    li:nth-child(7) {
      top: 95px; left: 130px;
    }
    li:nth-child(8) {
      top: 100px; left: 110px;
    }
    li:nth-child(9) {
      top: 20px; left: 60px;
      width: 12px; height: 12px;
      overflow: hidden;
      background-color: darken(@color-orange, 5%);
      transform: scale(2.2);
      &::before {
        content: "";
        position: absolute;
        right: 1px; bottom: 1px;
        width: 20px; height: 20px;
        border-radius: 50%;
        background-color: @color-orange;
      }
      &::after {
        content: "";
        position: absolute;
        left: 2px; top: 2px;
        width: 4px; height: 4px;
        border-radius: 50%;
        background-color: #f5f5f5;
      }
    }
    li:nth-child(10) {
      top: 125px; left: 100px;
      width: 12px; height: 12px;
      overflow: hidden;
      background-color: darken(@color-orange, 5%);
      transform: scale(2);
      &::before {
        content: "";
        position: absolute;
        right: 1px; bottom: 1px;
        width: 20px; height: 20px;
        border-radius: 50%;
        background-color: @color-orange;
      }
      &::after {
        content: "";
        position: absolute;
        left: 2px; top: 2px;
        width: 4px; height: 4px;
        border-radius: 50%;
        background-color: #f5f5f5;
      }
    }
    li:nth-child(11) {
      top: 20px; left: 120px;
      width: 12px; height: 12px;
      overflow: hidden;
      background-color: darken(@color-red, 5%);
      transform: scale(3.2);
      &::before {
        content: "";
        position: absolute;
        right: 1px; bottom: 1px;
        width: 20px; height: 20px;
        border-radius: 50%;
        background-color: @color-red;
      }
      &::after {
        content: "";
        position: absolute;
        left: 3px; top: 1px;
        width: 3px; height: 3px;
        border-radius: 50%;
        background-color: #dddddd;
      }
    }
    li:nth-child(12) {
      top: 130px; left: 50px;
      width: 12px; height: 12px;
      overflow: hidden;
      background-color: darken(@color-red, 5%);
      transform: scale(4);
      &::before {
        content: "";
        position: absolute;
        right: 1px; bottom: 1px;
        width: 20px; height: 20px;
        border-radius: 50%;
        background-color: @color-red;
      }
      &::after {
        content: "";
        position: absolute;
        left: 3px; top: 1px;
        width: 3px; height: 3px;
        border-radius: 50%;
        background-color: #dddddd;
      }
    }
  }
}

.fireplace {
  position: absolute;
  left: 50%; bottom: 0;
  width: 440px;
  height: 340px;
  background-color: darken(@color-background, 5%);
  transform: translatex(-50%) scale(0.6);
  transform-origin: center bottom;
  &::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 0px;
    width: 400px;
    height: 400px;
    background-color: @color-fireplace;
  }
  .bottom {
    z-index: 15;
    position: absolute;
    bottom: -70px;
    left: -20px;
    width: 480px;
    height: 60px;
    background-color: #8e3f30;
    &::before {
      content: "";
      position: absolute;
      left: 0px;
      top: -20px;
      width: 480px;
      height: 20px;
      background-color: darken(@color-background, 5%);
    }
    &::after {
      content: "";
      position: absolute;
      left: 20px;
      top: -20px;
      width: 440px;
      height: 20px;
      background-color: @color-fireplace-darken;
    }
  }
  ul.top {
    position: absolute;
    top: -40px;
    left: 0px;
    width: 400px;
    height: 40px;
    background-color: @color-wood;
    &::before {
      content: "";
      position: absolute;
      left: 10px;
      bottom: -14px;
      width: 420px;
      height: 14px;
      background-color: @color-fireplace-darken;
    }
    li {
      list-style: none;
      position: absolute;
      height: 5px;
      border-radius: 10px;
      background-color: darken(@color-wood, 5%);
    }
    /* Line 1 */
    li:nth-child(1) {
      top: 10px; left: 10px;
      width: 120px;
    }
    li:nth-child(2) {
      top: 10px; left: 150px;
      width: 60px;
    }
    li:nth-child(3) {
      top: 10px; left: 220px;
      width: 120px;
    }
    li:nth-child(4) {
      top: 10px; right: 10px;
      width: 70px;
    }
    /* Line 2 */
    li:nth-child(5) {
      top: 20px; left: 50px;
      width: 120px;
    }
    li:nth-child(6) {
      top: 20px; right: 50px;
      width: 120px;
    }
    /* Line 3 */
    li:nth-child(7) {
      top: 30px; left: 30px;
      width: 20px;
    }
    li:nth-child(8) {
      top: 30px; left: 60px;
      width: 70px;
    }
    li:nth-child(9) {
      top: 30px; left: 160px;
      width: 160px;
    }
    li:nth-child(10) {
      top: 30px; right: 10px;
      width: 70px;
    }
  }
  ul.bricks {
    position: absolute;
    top: 0; left: 0;
    width: 440px;
    height: 400px;
    li {
      position: absolute;
      width: 60px; height: 25px;
      border-radius: 2px;
      list-style: none;
      background-color: darken(@color-fireplace, 4%);
    }
    li:nth-child(1) {
      top: 60px; left: 50px;
      background-color: @color-fireplace-darken-2;
    }
    li:nth-child(2) {
      top: 20px; left: 160px;
      background-color: @color-fireplace-darken-2;
    }
    li:nth-child(3) {
      top: 110px; left: 80px;
    }
    li:nth-child(4) {
      top: 110px; left: 150px;
    }
    li:nth-child(5) {
      top: 140px; left: 100px;
      background-color: @color-fireplace-darken-2;
    }
    li:nth-child(6) {
      top: 70px; left: 240px;
    }
    li:nth-child(7) {
      top: 100px; left: 280px;
      background-color: @color-fireplace-darken;
    }
    li:nth-child(8) {
      top: 40px; left: 350px;
    }
    li:nth-child(9) {
      top: 190px; left: 35px;
    }
    li:nth-child(10) {
      top: 220px; left: 20px;
      width: 40px;
      background-color: @color-fireplace-darken;
    }
    li:nth-child(11) {
      top: 270px; left: 70px;
      width: 50px;
      background-color: @color-fireplace-darken-2;
    }
    li:nth-child(12) {
      top: 300px; left: 20px;
      width: 40px;
      background-color: @color-fireplace-darken;
    }
    li:nth-child(13) {
      top: 220px; right: 70px;
      background-color: @color-fireplace-darken-2;
    }
    li:nth-child(14) {
      top: 260px; right: 90px;
    }
    li:nth-child(15) {
      top: 140px; right: 60px;
      background-color: @color-fireplace-darken;
    }
  }
  .chimney {
    z-index: 10;
    position: absolute;
    bottom: -92px; left: 50%;
    transform: translatex(-50%);
    width: 280px; height: 240px;
    border-radius: 50%;
    border: 16px solid transparent;
    border-top: 16px solid @color-fireplace-darken;
    &::before {
      content: "";
      position: absolute;
      bottom: 62px; left: 26px;
      width: 16px;
      height: 150px;
      background-color: @color-fireplace-darken;
    }
    &::after {
      content: "";
      position: absolute;
      bottom: 62px; right: 26px;
      width: 16px;
      height: 150px;
      background-color: @color-fireplace-darken;
    }
  }
  .chimney-shadow {
    z-index: 9;
    position: absolute;
    bottom: -115px; left: 50%;
    transform: translatex(-50%);
    width: 270px; height: 240px;
    border-radius: 50%;
    border: 20px solid transparent;
    border-top: 20px solid #5b4352;
    &::before {
      content: "";
      position: absolute;
      bottom: 60px; left: 28px;
      width: 30px;
      height: 170px;
      background-color: #5b4352;
    }
    &::after {
      content: "";
      position: absolute;
      bottom: 60px; right: 28px;
      width: 30px;
      height: 170px;
      background-color: #5b4352;
    }
  }
  .chimney-fire-wrapper {
    z-index: 8;
    position: absolute;
    bottom: 0px; left: 50%;
    transform: translatex(-50%);
    width: 180px; height: 150px;
    background-color: #705365;
    ul.wood {
      position: absolute;
      bottom: -10px; left: 50%;
      transform: translateX(-50%);
      width: 100px;
      height: 40px;
      border-radius: 5px;
      background-color: @color-wood;
      li {
        list-style: none;
        position: absolute;
        height: 4px;
        border-radius: 10px;
        background-color: darken(@color-wood, 5%);
      }
      li:nth-child(1) {
        top: 8px; left: 10px;
        width: 20px;
      }
      li:nth-child(2) {
        top: 8px; left: 40px;
        width: 60px;
      }
      li:nth-child(3) {
        top: 8px; right: 5px;
        width: 20px;
      }
      li:nth-child(4) {
        top: 16px; left: 20px;
        width: 40px;
      }
      li:nth-child(5) {
        top: 16px; right: 10px;
        width: 50px;
      }
      li:nth-child(6) {
        top: 24px; left: 0px;
        width: 20px;
      }
      li:nth-child(7) {
        top: 24px; right: 20px;
        width: 80px;
      }
      li:nth-child(8) {
        bottom: -5px; right: 15px;
        width: 5px; height: 52px;
        background-color: #444444;
        &::after {
          content: "";
          position: absolute;
          top: -20px; right: -9px;
          border: 5px solid transparent;
          border-bottom: 5px solid #444444;
          border-left: 5px solid #444444;
          width: 15px; height: 15px;
          border-radius: 50%;
          transform: rotate(-45deg);
        }
      }
      li:nth-child(9) {
        bottom: -5px; left: 15px;
        width: 5px; height: 52px;
        background-color: #444444;
        &::after {
          content: "";
          position: absolute;
          top: -20px; right: -9px;
          border: 5px solid transparent;
          border-bottom: 5px solid #444444;
          border-left: 5px solid #444444;
          width: 15px; height: 15px;
          border-radius: 50%;
          transform: rotate(-45deg);
        }
      }
    }
  }
  .candle {
    position: absolute;
    top: -114px; left: 50px;
    width: 50px; height: 90px;
    background-color: #dddddd;
    &::before {
      content:"";
      position: absolute;
      bottom: 10px; left: 0px;
      width: 50px; height: 25px;
      background-color: @color-red;
      transform: skew(10deg) rotate(10deg);
    }
    &::after {
      content:"";
      position: absolute;
      top: 15px; left: 0px;
      width: 50px; height: 25px;
      background-color: @color-red;
      transform: skew(10deg) rotate(10deg);
    }
    .fire {
      top: -30px; left: 50%;
      transform: translateX(-50%) rotate(45deg) scale(0.6);
      width: 30px; height: 30px;
    }
    &#candle-2 {
      left: 110px; top: -64px;
      width: 50px; height: 40px;
      &::before {
        height: 10px; bottom: 10px;
        background-color: @color-green;
        transform: none;
      }
      &::after {
        height: 10px; top: 0px;
        background-color: @color-green;
        transform: none;
      }
    }
    &#candle-3 {
      left: 340px; top: -104px;
      width: 30px; height: 80px;
      &::before {
        width: 30px; height: 20px; bottom: 0px;
        background-color: @color-red;
        transform: none;
      }
      &::after {
        width: 30px; height: 20px; top: 0px;
        background-color: @color-red;
        transform: none;
      }
    }
  }
  .sock {
    transform-origin: top left;
    transform: rotate(20deg);
    position: absolute;
    top: 20px; left: 90px;
    width: 50px; height: 80px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    background-color: @color-green;
    &::after {
      content: "";
      position: absolute;
      top: -20px; left: 50%;
      transform: translatex(-50%);
      width: 70px; height: 20px;
      border-radius: 8px;
      background-color: #f5f5f5;
    }
    .second {
      position: absolute;
      bottom: 25px; left: -20px;
      width: 40px; height: 90px;
      border-radius: 30px;
      background-color: @color-green;
      transform-origin: bottom center;
      transform: rotate(115deg);
      overflow: hidden;
      &::before {
        content: "";
        position: absolute;
        bottom: -5px; right: -5px;
        width: 30px; height: 30px;
        border-bottom-right-radius: 30px;
        border-top-left-radius: 20px;
        background-color: #f5f5f5;
      }
      &::after {
        content: "";
        position: absolute;
        top: 0px; left: 50%;
        transform: translatex(-50%);
        width: 70px; height: 20px;
        border-radius: 8px;
        background-color: #f5f5f5;
      }
    }
    &#sock-2 {
      transform: scale(0.9) rotate(20deg);
      left: 210px;
      background-color: @color-orange;
      .second {
        background-color: @color-orange;
      }
    }
    &#sock-3 {
      transform: scale(0.8) rotate(20deg);
      left: 320px;
      background-color: @color-red;
      .second {
        background-color: @color-red;
      }
    }
  }
}

.fire {
  position: absolute;
  bottom: 40px; left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 45px; height: 45px;
  border-top-left-radius: 0;
  border-top-right-radius: 75px;
  border-bottom-right-radius: 75px;
  border-bottom-left-radius: 75px;
  background-color: @color-fire-2;
  border-left: 12px solid @color-fire;
  border-top: 12px solid @color-fire;
  overflow: hidden;
  animation: blink_fire 1s 0s ease-in-out alternate infinite;
  &::after {
    content: "";
    position: absolute;
    top: 70%; left: 70%;
    transform: translate(-50%, -50%);
    width: 25px; height: 25px;
    border-top-left-radius: 0;
    border-top-right-radius: 75px;
    border-bottom-right-radius: 75px;
    border-bottom-left-radius: 75px;
    background-color: @color-fire-3;
  }
}
 
/* ----------------------------------------------- */
/*                    Keyframes                    */
/* ----------------------------------------------- */

@keyframes blink_fire {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.7;
  }
}

@keyframes blink_ember {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  81% {
    opacity: 1;
    transform: translatey(20px);
  }
  100% {
    opacity: 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.