<body>
  <div class="box-canvas">
    <div class="machine">
      <div class="drawer"></div>
      <div class="panel"></div>
      <div class="door">
        <div class="drum"></div>
      </div>
    </div>
  </div>
</body>
:root {
  --background-color: #EE5B52;
  --machine-white: white;
  --machine-feature-gray: #A3A1A1;
  --accent-green: #5FBD9D;
  --darkest-gray: #636161;
}

body{
  background: var(--background-color);
}

.box-canvas{
  position: relative;
  margin: auto;
  display: block;
  margin-top: 8%;
  margin-bottom: 8%;
  width: 600px;
  height:600px;
  background: var(--background-color);
}

/* Main machine body */
.machine {
  position: absolute;
  left: 150px;
  top: 100px;
  width: 300px;
  height: 400px;
  background: var(--machine-white);
  border-radius: 2%;
}

/* Powder drawer */
.drawer {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100px;
  height: 50px;
  border: 2px solid var(--machine-feature-gray);
  border-radius: 0 0 20% 0;
}

/* Drawer handle */
.drawer::after {
  content: '';
  position: absolute;
  width: 70px;
  height: 15px;
  background: var(--machine-feature-gray);
  bottom: 5px;
  right: 5px;
  border-radius: 0 0 30% 0;
}

/* Small LED display */
.panel {
  position: absolute;
  width: 40px;
  height: 15px;
  background: var(--darkest-gray);
  left: 150px;
  top: 30px;
}

/* Light indicator in panel */
.panel::before {
  content: '';
  position: absolute;
  width: 8px;
  height: 10px;
  background: var(--accent-green);
  right: 5px;
  top: 2px;
}

/* Machine dial */
.panel::after {
  content: '';
  position: absolute;
  left: 80px;
  top: -10px;
  width: 35px;
  height: 35px;
  border: 2px solid var(--machine-feature-gray);
  border-radius: 50%;
}

/* Center of washer door, width border forming the frame */
.door {
  position: absolute;
  background: var(--machine-white);
  left: 60px;
  bottom: 90px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  border: 5px solid var(--machine-feature-gray);
  overflow: hidden;
}

/* Reflection on door surface */
.door::after {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  width: 160px;
  height: 160px;
  background: radial-gradient(transparent 30%, white);
}

/* Washing machine drum */
.drum {
  position: absolute;
  left: 25px;
  top: 25px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--darkest-gray);
  overflow: hidden;
  animation: drumRotate 2s infinite;
}

/* Clothes inside machine */
.drum::before {
  content: '';
  position: absolute;
  width: 80px;
  height: 50px;
  background: var(--accent-green);
  border-radius: 40%;
  bottom: 0;
}



@keyframes drumRotate {
  0% {
    transform: rotate(0deg);
  }
  
  100% {
    transform: rotate(360deg);
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.