<div class='delorean'>
  <div class='shadow'></div>
  <div class='arrow'></div>
  <div class='burners'>
    <div class='burner right'></div>
    <div class='tank'></div>
    <div class='burner left'></div>
    <div class='wire a'></div>
    <div class='wire b'></div>
  </div>
  <div class='body'>
    <div class='part1'></div>
    <div class='part2'></div>
    <div class='part3'></div>
    <div class='part4'></div>
    <div class='part5'></div>
    <div class='part6'></div>
    <div class='part7'></div>
    <div class='part8'></div>
    <div class='part9'></div>
  </div>
  <div class='fixture'>
    <div class='top'></div>
    <div class='part1'></div>
    <div class='part2'></div>
    <div class='part3'></div>
    <div class='part4'></div>
    <div class='part5'></div>
  </div>
  <div class='windows'>
    <div class='windshield'></div>
    <div class='front'></div>
    <div class='back'></div>
    <div class='containers'>
      <div class='base'></div>
      <div class='container a'></div>
      <div class='container b'></div>
      <div class='container c'></div>
      <div class='container d'></div>
      <div class='container e'></div>
      <div class='container f'></div>
    </div>
  </div>
  <div class='door'>
    <div class='line a'></div>
    <div class='line b'></div>
    <div class='line c'></div>
    <div class='line d'></div>
    <div class='lock'></div>
    <div class='handle'></div>
    <div class='mirror'></div>
  </div>
  <div class='bumber'>
    <div class='light'></div>
    <div class='part1'></div>
    <div class='part2'></div>
    <div class='part3'></div>
    <div class='part4'></div>
    <div class='part5'></div>
  </div>
  <div class='fenders'>
    <div class='fender left'></div>
    <div class='fender right'></div>
  </div>
  <div class='wires'>
    <div class='wire a'></div>
    <div class='wire b'></div>
    <div class='wire c'></div>
    <div class='wire d'></div>
    <div class='wire e'></div>
    <div class='wire f'></div>
    <div class='wire g'></div>
    <div class='wire h'></div>
  </div>
  <div class='wheels'>
    <div class='wheel left'></div>
    <div class='wheel right'></div>
  </div>
</div>
body, html {
  width: 100%;
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: radial-gradient(circle, #c9c0c3, #212026);
}

.delorean {
  width: 95vmin;
  height: 35vmin;
  position: relative;
  
  .shadow {
    position: absolute;
    width: 69%;
    bottom: 10%;
    height: 20%;
    left: 15%;
    border-radius: 15vmin;
    background-image: linear-gradient(90deg, transparent, black 10%, 90%, transparent);
    transform: perspective(88px) rotateX(217deg);
    
    &::after {
      position: absolute;
      content: '';
      background: linear-gradient(90deg, transparent, rgba(52, 51, 54, 0.24) 20%, 80%, transparent);
      width: 80%;
      height: 100%;
      bottom: 18%;
      left: 10%;
      border-radius: 5vmin;
    }
  }
  
  .arrow {
    --color: #c9c8d1;
    position: absolute;
    background: var(--color);
    height: 40%;
    width: 18%;
    opacity: 0.5;
    left: 30%;
    top: 3%;
    transform: skewX(-26deg);
    
    &::before {
      position: absolute;
      content: '';
      width: 100%;
      height: 100%;
      right: -105%;
      background-image: linear-gradient(90deg, var(--color) 26%, transparent 27%, 32%, var(--color) 32%, 53%, transparent 53%, 58%, var(--color) 58%, 76%, transparent 76%, 82%, var(--color) 82%, 90%, transparent 90%);
    }
    
    &::after {
      position: absolute;
      content: '';
      border: 7vmin solid transparent;
      left: -90%;
      border-right: 14vmin solid var(--color);
      border-left-width: 0;
      transform: scale(1.3);
    }
  }
  
  .burners {
    .tank {
      position: absolute;
      width: 2.8%;
      height: 12%;
      top: 9%;
      right: 20%;
      background-image: linear-gradient(90deg, #6a6a6a 10%, white 51%, 85%, #858585 90%);
      transform: rotate(3deg);
      border-radius: 0.3vmin 0.3vmin 0 0;
      box-shadow: inset 0 0 0.1vmin 0.1vmin black, inset 0 0 0.1vmin 0.2vmin white;
      
      &::before {
        position: absolute;
        content: '';
        width: 114%;
        height: 57%;
        bottom: -42%;
        right: -3%;
        background-image: linear-gradient(90deg, #6a6a6a 10%, white 51%, 85%, #858585 90%);
        border-radius: 0.3vmin 0.3vmin 0 0;
        box-shadow: inset 0 0 0.1vmin 0.1vmin black, inset 0 0 0.1vmin 0.2vmin white;
        transform: perspective(32px) rotateX(50deg);
      }
      
      &::after {
        position: absolute;
        content: '';
        width: 167%;
        height: 88%;
        bottom: -123%;
        right: -32%;
        background-image: linear-gradient(90deg, #202020 10%, #4e4e4e 51%, 85%, #1a1a1a 90%);
        border-radius: 0.3vmin 0.3vmin 0 0;
        box-shadow: inset 0 0 0.1vmin 0.1vmin black, inset 0 0 0.1vmin 0.2vmin #7a7a7a;
      }
    }
    
    .burner {
      position: absolute;
      background: #0d1311;
      
      &::before {
        position: absolute;
        content: '';
        width: 75%;
        height: 171%;
        background: #0d1311;
        top: -85%;
        transform: rotateZ(340deg) skewY(347deg);
        left: 23%;
        border-radius: 0 2vmin 0 0;
      }
      
      &::after {
        position: absolute;
        content: '';
        width: 75%;
        height: 42%;
        background-image: repeating-linear-gradient(34deg, gray 5%, black 6%, 9%, gray 10%);
        top: -69%;
        transform: rotateZ(340deg) skewY(347deg);
        left: 16%;
        border-radius: 0 2vmin 0 0;
      }
      
      &.left {
        width: 15%;
        height: 11%;
        right: 10%;
        top: 33%;
        transform: skewX(-10deg);
        border-radius: 0 0 1vmin 0;
      }
      
      &.right {
        width: 14%;
        height: 10%;
        right: 13%;
        top: 33%;
      }
    }
    
    .wire {
      position: absolute;
      background: repeating-conic-gradient(at 50% 133%, #29272c 0%, 0.5%, transparent 0.5%, transparent 1%), radial-gradient(at 50% 50%, white -6%, #444444 24%, 46%, white 57%, gray 60%, 69%, black 72%);
      border-radius: 50%;
      transform: rotate(12deg);
      
      &.a {
        width: 8%;
        height: 15%;
        top: 24%;
        right: 26%;
      }
      
      &.b {
        width: 10%;
        height: 17%;
        top: 25%;
        right: 21%;
      }
    }
  }
  
  .body {
    position: absolute;
    left: 7%;
    right: 9%;
    top: 27%;
    bottom: 18%;
    
    .part1 {
      position: absolute;
      background-image: linear-gradient(184deg, #e7e7e7, #b9b9b9 10%, #e7e7e7 30%);
      width: 31%;
      height: 36%;
      left: 4%;
      top: 34%;
      transform: rotate(-7deg);
      border-radius: 33%;
    }
    
    .part2 {
      position: absolute;
      background-image: linear-gradient(185deg, #e7e7e7, #b2b4b5 10%, #e7e7e7 37%);
      width: 21%;
      height: 39%;
      left: 30%;
      top: 16%;
      transform: rotate(-20deg);
      border-radius: 5%;
    }
    
    .part3 {
      position: absolute;
      background-image: linear-gradient(180deg, #e7e7e7, #b2b4b5 10%, #e7e7e7 30%);
      width: 27%;
      height: 36%;
      right: 4%;
      top: 12%;
      transform: rotate(13deg);
      border-radius: 5%;
    }
    
    .part4 {
      position: absolute;
      background-image: linear-gradient(#e7e7e7, #b2b4b5 10%, #e7e7e7 70%);
      width: 24%;
      height: 42%;
      right: 28%;
      top: 0%;
      transform: rotate(-2deg);
      border-radius: 10%;
    }
    
    .part5 {
      background: linear-gradient(#e7e7e7 27%, #979797 28%, #283231 33%, 40%, #72787a 41%, 67%, #a5a5a5 70%);
      position: absolute;
      top: 40%;
      left: 6%;
      height: 50%;
      width: 90%;
      transform: rotate(-2deg);
    }
    
    .part6 {
      position: absolute;
      background-image: linear-gradient(#787878 20%, #283231 25%);
      bottom: 0;
      left: 16%;
      height: 12%;
      width: 60%;
    }
    
    .part7 {
      position: absolute;
      right: 2%;
      height: 26%;
      width: 3%;
      top: 23%;
      transform: rotate(-5deg);
      border-radius: 0 41% 0 0;
      background-image: linear-gradient(200deg, transparent 10%, #283231 11%);
    }
    
    .part8 {
      position: absolute;
      right: 1%;
      height: 30%;
      width: 4.5%;
      top: 48%;
      transform: rotate(12deg);
      border-radius: 0 20% 0 0;
      background-image: linear-gradient(-20deg, transparent 10%, #283231 11%);
    }
    
    .part9 {
      position: absolute;
      right: 2%;
      height: 12%;
      width: 15%;
      bottom: 10%;
      transform: rotate(-11deg);
      border-radius: 0 0 40% 0;
      background-image: linear-gradient(-60deg, transparent 10%, #283231 11%);
    }
  }
  
  .fixture {
    .top {
      position: absolute;
      width: 4%;
      height: 4%;
      top: 22.5%;
      right: 34%;
      background-image: linear-gradient(90deg, #202020 10%, #4e4e4e 51%, 85%, #1a1a1a 90%);
      border-radius: 0.3vmin 0.3vmin 0 0;
      box-shadow: inset 0 0 0.1vmin 0.1vmin black, inset 0 0 0.1vmin 0.2vmin #7a7a7a;
      transform: rotate(-1deg);
    }
    
    .part1 {
      position: absolute;
      width: 2%;
      height: 20%;
      right: 34%;
      top: 25%;
      transform: rotate(-5deg);
      background-image: linear-gradient(90deg, black, gray 9%, black 14%, rgb(0 0 0 / 30%) 15%, 85%, black 86%, gray 94%, black);
    }
    
    .part2 {
      position: absolute;
      width: 3%;
      height: 9%;
      right: 32.7%;
      top: 44.8%;
      transform: rotate(-4deg);
      background-image: radial-gradient(circle at 100% 0%, transparent 17%, black 18%, gray 20%, black 24%, rgba(0, 0, 0, 0.3) 25%, 55%, black 56%, gray 59%, black, transparent 63%);
    }
    
    .part3 {
      position: absolute;
      width: 12%;
      height: 5.5%;
      right: 20.7%;
      top: 46.2%;
      transform: rotate(-2deg);
      background-image: linear-gradient(0deg, black, gray 9%, black 14%, rgba(0, 0, 0, 0.3) 15%, 85%, black 86%, gray 94%, black);
    }
    
    .part4 {
      position: absolute;
      width: 3%;
      height: 9%;
      right: 17.8%;
      top: 43.8%;
      transform: rotate(-5deg);
      background-image: radial-gradient(circle at 0% 100%, transparent 17%, black 18%, gray 20%, black 24%, rgba(0, 0, 0, 0.3) 25%, 55%, black 56%, gray 59%, black, transparent 63%);
    }
    
    .part5 {
      position: absolute;
      width: 2%;
      height: 23%;
      right: 17%;
      top: 52.7%;
      transform: rotate(-11deg);
      background-image: linear-gradient(90deg, black, gray 9%, black 14%, rgba(0, 0, 0, 0.3) 15%, 85%, black 86%, gray 94%, black);
    }
  }
  
  .windows {
    
    .windshield {
      position: absolute;
      background-image: linear-gradient(95deg, transparent 30%, black 50%, #d9e3e1 60%);
      width: 1%;
      height: 39%;
      top: 17%;
      left: 40%;
      border-radius: 0 0 6vmin 2vmin;
      transform: rotate(64deg);
      border-bottom: 0.3vmin solid black;
      border-right: 0.3vmin solid black;
    }
    
    .front {
      position: absolute;
      border: 0.3vmin solid black;
      border-left-color: transparent;
      width: 12.5%;
      height: 15%;
      top: 30%;
      left: 49%;
      transform: rotate(-2deg);
      border-radius: 0 14% 14% 0;
      background-image: linear-gradient(#6e6e6e 55%, #d9dde3 62%);
      
      &::after {
        position: absolute;
        content: '';
        border: 0.3vmin solid black;
        border-left-width: 0.8vmin;
        border-top-color: black;
        border-right-color: transparent;
        width: 92%;
        height: 100%;
        left: -56%;
        top: -5%;
        transform: skewX(-63deg);
        background-image: linear-gradient(#6e6e6e 55%, #d9dde3 62%);
        border-radius: 0 0 0 20%;
      }
    }
    
    .back {
      position: absolute;
      border: 0.3vmin solid black;
      border-top-color: transparent;
      width: 16%;
      height: 3%;
      right: 15.5%;
      top: 40%;
      transform: rotate(-1deg) skewX(10deg);
      border-radius: 0 0 1vmin 1vmin;
      background: #d9dde3;
      
      &::before {
        position: absolute;
        content: '';
        width: 70%;
        height: 120%;
        top: -117%;
        left: -0.3vmin;
        border-left: 0.3vmin solid black;
        background: #d9dde3;
      }
      
      &::after {
        position: absolute;
        content: '';
        width: 102%;
        border-top: 0.3vmin solid black;
        border-left: 0.3vmin solid black;
        height: 340%;
        top: -222%;
        left: -0.3vmin;
        transform: skewY(14deg);
        border-radius: 1vmin 0 0 0;
        background-image: linear-gradient(168deg, #6e6e6e 40%, #d9dde3 48%, 48%, transparent 50%);
      }
    }
    
    .containers {
      opacity: 0.5;
      position: absolute;
      overflow: hidden;
      height: 12%;
      right: 16%;
      top: 32.5%;
      width: 16%;
      transform: rotate(-1deg);
      border-radius: 0 0 0.1vmin 0.5vmin;
      
      .base {
        position: absolute;
        width: 120%;
        height: 61%;
        background: black;
        top: 74%;
        transform: rotate(4deg);
        right: 0;
      }
      
      .container {
        position: absolute;
        background-image: linear-gradient(90deg, #580c0c 30%, #ff7d7d 51%, 70%, #bb1010 80%);
        transform: rotate(3deg);
        border-radius: 0.3vmin 0.3vmin 0 0;
        box-shadow: inset 0 0 0.1vmin 0.1vmin #620202, inset 0 0 0.1vmin 0.2vmin #e17979;
        
        &.a {
          width: 12%;
          height: 64%;
          top: 25%;
          right: 82%; 
        }
        
        &.b {
          width: 12%;
          height: 64%;
          top: 25%;
          right: 68%; 
        }
        
        &.c {
          width: 12%;
          height: 64%;
          top: 25%;
          right: 54%; 
        }
        
        &.d {
          width: 14%;
          height: 64%;
          top: 45%;
          right: 77%; 
        }
        
        &.e {
          width: 14%;
          height: 64%;
          top: 45%;
          right: 60%; 
        }
        
        &.f {
          width: 14%;
          height: 64%;
          top: 45%;
          right: 44%; 
        }
      }
    }
  }
  
  .door {
    
    .line {
      position: absolute;
      width: 0.1%;
      background: #5a5a5a;
      
      &.a {
        height: 30%;
        right: 40%;
        top: 46%;
        transform: rotate(36deg);
      }
      
      &.b {
        height: 29%;
        left: 36.5%;
        top: 45%;
        transform: rotate(-19deg);
      }
      
      &.c {
        height: 95%;
        right: 52%;
        top: 26%;
        transform: rotate(90deg);
      }
      
      &.d {
        height: 23%;
        right: 37%;
        top: 26%;
        transform: rotate(-3deg);
      }
    }
    
    .lock {
      position: absolute;
      width: 0.5vmin;
      height: 0.5vmin;
      border-radius: 50%;
      border: 0.1vmin solid #6e6e6e;
      top: 50%;
      right: 39%;
    }
    
    .handle {
      position: absolute;
      width: 2.5vmin;
      height: 0.5vmin;
      border-radius: 0 0 0.5vmin 0.5vmin;
      border: 0.1vmin solid #6e6e6e;
      top: 60%;
      right: 41%;
      background: #8b8b8b;
      transform: rotate(-2deg);
    }
    
    .mirror {
      position: absolute;
      background: linear-gradient(90deg, rgb(52 51 54 / 15%) 70%, rgb(197 197 197 / 43%) 75%), linear-gradient(#cfccd3 20%, #78747c 25%, 76%, #302F32 77%);
      width: 3%;
      height: 5%;
      top: 43.5%;
      left: 40%;
      border-radius: 0.5vmin;
      transform: rotate(-2deg);
      
      &::after {
        position: absolute;
        content: '';
        background: linear-gradient(329deg, #363438 61%, transparent 66%);
        width: 47%;
        height: 66%;
        left: -45%;
        top: 10%;
      }
    }
  }
  
  .bumber {
    position: absolute;
    width: 10%;
    height: 28%;
    top: 50%;
    left: 7.5%;
    
    .light {
      position: absolute;
      width: 140%;
      height: 23%;
      background: linear-gradient(90deg, transparent, rgb(255 255 255 / 38%));
      left: -57%;
      top: 12%;
      transform: perspective(10px) rotateY(5deg);
      filter: blur(1px);
    }
    
    .part1 {
      position: absolute;
      left: 14%;
      height: 34%;
      width: 31%;
      top: 10%;
      transform: rotate(-2deg);
      background-image: linear-gradient( 120deg, transparent 31%, #283231 32%);
    }
    
    .part2 {
      position: absolute;
      left: 2%;
      height: 43%;
      width: 43%;
      top: 26%;
      background-image: linear-gradient(151deg, transparent 31%, #283231 32%);
    }
    
    .part3 {
      position: absolute;
      left: 2%;
      height: 21%;
      width: 43%;
      top: 59%;
      background-image: linear-gradient(17deg, transparent 31%, #283231 35%);
    }
    
    .part4 {
      position: absolute;
      left: 31%;
      height: 31%;
      width: 72%;
      top: 77%;
      background-image: linear-gradient(192deg, transparent 31%, #283231 35%);
      border-radius: 0 0 0 20%;
    }
    
    .part5 {
      position: absolute;
      width: 44%;
      height: 6%;
      left: 1%;
      top: 37%;
      background-image: linear-gradient(151deg, transparent 31%, #585858 32%);
      transform: rotate(-2deg);
    }
  }
  
  .fenders {
    position: absolute;
    height: 28%;
    bottom: 20%;
    left: 17%;
    right: 19%;
    
    .fender {
      position: absolute;
      background-image: radial-gradient(circle at 50% 80%, black 62%, white 65%, gray 68%,transparent 69%);
      
      &.left {
        left: 0;
        bottom: 0;
        width: 22%;
        height: 90%;
      }
      
      &.right {
        right: 0;
        bottom: 0;
        width: 25%;
        height: 100%;
      }
    }
  }
  
  .wires {
    --red: #ef3a3a;
    --green: #06dfad;
    --blue: #0071c1;
    
    .wire.a {
      position: absolute;
      width: 0.8%;
      height: 5%;
      right: 29%;
      top: 45%;
      background: linear-gradient(90deg, var(--red) 33%, var(--green) 34%, 66%, var(--blue) 67%);
    }
    
    .wire.b {
      position: absolute;
      width: 2.5%;
      height: 6%;
      right: 28.8%;
      top: 49.7%;
      background: radial-gradient(at 0% 0%, transparent 40%, var(--red) 41%, 50%, var(--green) 51%, 55%, var(--blue) 56%, 64%, transparent 65%);
    }
    
    .wire.c {
      position: absolute;
      width: 7.5%;
      height: 24%;
      right: 31%;
      top: 51%;
      background: radial-gradient(at 100% 100%, transparent 58%, var(--blue) 59%, 60%, var(--green) 61%, 62%, var(--red) 63%, 64%, transparent 65%);
    }
    
    .wire.d {
      position: absolute;
      width: 2.2%;
      height: 6%;
      right: 36.8%;
      top: 74.7%;
      background: radial-gradient(at 0% 0%, transparent 40%, var(--red) 41%, 50%, var(--green) 51%, 55%, var(--blue) 56%, 64%, transparent 65%);
    }
    
    .wire.e {
      position: absolute;
      width: 27%;
      height: 2%;
      right: 39%;
      top: 78%;
      background: linear-gradient(0deg, var(--blue) 33%, var(--green) 34%, 66%, var(--red) 67%);
    }
    
    .wire.f {
      position: absolute;
      width: 2.5%;
      height: 6%;
      left: 31.7%;
      top: 74.7%;
      background: radial-gradient(at 100% 0%, transparent 40%, var(--red) 41%, 50%, var(--green) 51%, 55%, var(--blue) 56%, 64%, transparent 65%);
    }
    
    .wire.g {
      position: absolute;
      width: 13.5%;
      height: 28%;
      left: 19.4%;
      top: 47%;
      background: radial-gradient(circle at 34% 100%, transparent 58%, var(--blue) 59%, 60%, var(--green) 61%, 62%, var(--red) 63%, 64%, transparent 65%);
    }
    
    .wire.h {
      position: absolute;
      width: 7.4%;
      height: 20%;
      left: 12%;
      top: 52.9%;
      background: radial-gradient(circle at 50% -93%, transparent 56%, var(--red) 58%, 59%, var(--green) 60%, 61%, var(--blue) 62%, 63%, transparent 64%);
    }
  }
  
  .wheels {
    position: absolute;
    bottom: 0;
    left: 18%;
    right: 20%;
    height: 45%;
    
    .wheel {
      position: absolute;
      background-image: radial-gradient(black 50%, #4e4949 60%, black 70%);
      border-radius: 50%;
      
      &::after {
        position: absolute;
        content: '';
        top: 16%;
        left: 16%;
        width: 68%;
        height: 68%;
        border-radius: 50%;
        background: 
          conic-gradient(rgba(black, 0.2) 15%, rgba(black, 0.5) 16%, 20%, rgba(white, 0.2) 21%, 69%, rgba(black, 0.5) 70%, 77%, rgba(black, 0.2) 78%),
          radial-gradient(#5f4d56 10%, #c1c1c1 11%, 20%, #5f4d56 22%, 23%, #c1c1c1 30%, transparent 31%, 60%, #c1c1c1 61%),
          repeating-conic-gradient(white 0.5%, #484242 1%, 3%, white 3.5%);
      }
      
      &.left {
        left: 0;
        margin-top: 2%;
        width: 19.5%;
        padding-bottom: 19.5%;
      }
      
      &.right {
        right: 0.5%;
        margin-top: 0.5%;
        width: 21.5%;
        padding-bottom: 21.5%;
      }
    }
  }
}
View Compiled
// Back To The Future's Delorean.
// Inspired by Benjamin Last's art work https://www.artstation.com/artwork/dmc-bttf

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.