div, div:before, div:after {
  display: block;
  content: "";
  position: absolute;
  box-sizing: border-box;
}

body {
  height: 100vh;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(rgb(229.5, 229.5, 229.5) 40%, #949494);
}

div.laptop {
  position: relative;
  width: 100vmin;
  height: 100vmin;
}

div.laptop:before {
  color: #ccc;
  width: 60vmin;
  height: 40vmin;
  top: 10vmin;
  left: 0vmin;
  transform: perspective(900px) rotateX(-17deg);
  position: absolute;
  border: solid 2px rgb(178.75, 178.75, 178.75);
  border-radius: 0.8rem;
  display: flex;
  margin: 0 auto;
  position: relative;
  background: radial-gradient(circle, rgb(63.2, 63.2, 63.2) 0.25vmin, rgb(22.4, 22.4, 22.4) 0.5vmin, transparent 0.5vmin) calc(0vmin + 25.5vmin) calc(0vmin - 2.25vmin)/8vmin 8vmin no-repeat, linear-gradient(rgb(65.75, 65.75, 65.75) 12vmin, rgb(27.5, 27.5, 27.5) 40vmin, transparent 13.5vmin) calc(0vmin + 3vmin) calc(0vmin + 3vmin)/53.5vmin 33vmin no-repeat, linear-gradient(180deg, rgb(14.75, 14.75, 14.75) 10vmin, black 50vmin, transparent 1vmin) calc(0vmin + 0vmin) calc(0vmin + 0vmin)/100vmin 43vmin no-repeat;
}

div.laptop:after {
  color: #ccc;
  width: 60vmin;
  height: 43.5vmin;
  border-left: solid 2px rgb(178.75, 178.75, 178.75);
  border-right: solid 2px rgb(178.75, 178.75, 178.75);
  top: 6.25vmin;
  left: 0vmin;
  transform: perspective(900px) rotateX(17deg);
  position: absolute;
  border-radius: 0.8rem;
  display: flex;
  margin: 0 auto;
  position: relative;
  background: linear-gradient(90deg, transparent 0vmin, #020202 0.25vmin, black 3.25vmin, transparent 3.5vmin, transparent 3.75vmin, #020202 4vmin, black 6.75vmin, transparent 7vmin, transparent 7.25vmin, #020202 7.5vmin, black 10.5vmin, transparent 10.75vmin, transparent 11vmin, #020202 11.25vmin, black 14vmin, transparent 14.25vmin, transparent 14.5vmin, #020202 14.75vmin, black 17.75vmin, transparent 18vmin, transparent 18.25vmin, #020202 18.5vmin, black 21.5vmin, transparent 21.75vmin, transparent 22vmin, #020202 22.25vmin, black 25vmin, transparent 25.25vmin, transparent 25.5vmin, #020202 25.75vmin, black 28.75vmin, transparent 29vmin, transparent 29.25vmin, #020202 29.5vmin, black 32.5vmin, transparent 32.75vmin, transparent 33vmin, #020202 33.25vmin, black 36vmin, transparent 36.25vmin, transparent 36.5vmin, #020202 36.75vmin, black 39.75vmin, transparent 40vmin, transparent 40.25vmin, #020202 40.5vmin, black 43.5vmin, transparent 43.75vmin, transparent 44vmin, #020202 44.25vmin, black 47.25vmin, transparent 47.5vmin, transparent 47.75vmin, #020202 48vmin, black 51vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 4vmin)/52vmin 1.75vmin no-repeat, linear-gradient(90deg, transparent 0vmin, #020202 0.25vmin, black 3vmin, transparent 3.25vmin, transparent 3.5vmin, #020202 3.75vmin, black 6.5vmin, transparent 6.75vmin, transparent 7vmin, #020202 7.25vmin, black 10vmin, transparent 10.25vmin, transparent 10.5vmin, #020202 10.75vmin, black 13.5vmin, transparent 13.75vmin, transparent 14vmin, #020202 14.25vmin, black 17vmin, transparent 17.25vmin, transparent 17.5vmin, #020202 17.75vmin, black 20.75vmin, transparent 21vmin, transparent 21.25vmin, #020202 21.5vmin, black 24.25vmin, transparent 24.5vmin, transparent 24.75vmin, #020202 25vmin, black 27.75vmin, transparent 28vmin, transparent 28.25vmin, #020202 28.5vmin, black 31.25vmin, transparent 31.5vmin, transparent 31.75vmin, #020202 32vmin, black 34.75vmin, transparent 5vmin, transparent 35.25vmin, #020202 35.5vmin, black 38.25vmin, transparent 38.5vmin, transparent 38.75vmin, #020202 39vmin, black 41.75vmin, transparent 42vmin, transparent 42.25vmin, #020202 42.5vmin, black 45.5vmin, transparent 45.75vmin, transparent 46vmin, #020202 46.25vmin, black 51vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 6.5vmin)/52vmin 3vmin no-repeat, linear-gradient(90deg, transparent 0vmin, #020202 0.25vmin, black 4.75vmin, transparent 5vmin, transparent 5.25vmin, #020202 5.5vmin, black 8.25vmin, transparent 8.5vmin, transparent 8.75vmin, #020202 9vmin, black 11.75vmin, transparent 12vmin, transparent 12.25vmin, #020202 12.5vmin, black 15.25vmin, transparent 15.5vmin, transparent 15.75vmin, #020202 16vmin, black 18.75vmin, transparent 19vmin, transparent 19.25vmin, #020202 19.5vmin, black 22.25vmin, transparent 22.5vmin, transparent 22.75vmin, #020202 23vmin, black 25.75vmin, transparent 26vmin, transparent 26.25vmin, #020202 26.5vmin, black 29.25vmin, transparent 29.5vmin, transparent 29.75vmin, #020202 30vmin, black 32.75vmin, transparent 33vmin, transparent 33.25vmin, #020202 33.5vmin, black 36.25vmin, transparent 36.5vmin, transparent 36.75vmin, #020202 37vmin, black 40vmin, transparent 40.25vmin, transparent 40.5vmin, #020202 40.75vmin, black 43.5vmin, transparent 43.75vmin, transparent 44vmin, #020202 44.25vmin, black 47vmin, transparent 47.25vmin, transparent 47.5vmin, #020202 47.75vmin, black 51vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 10vmin)/52vmin 3vmin no-repeat, linear-gradient(90deg, transparent 0vmin, #020202 0.25vmin, black 5.5vmin, transparent 5.75vmin, transparent 6.25vmin, #020202 6.5vmin, black 9.25vmin, transparent 9.5vmin, transparent 9.75vmin, #020202 10vmin, black 12.75vmin, transparent 13vmin, transparent 13.25vmin, #020202 13.5vmin, black 16.25vmin, transparent 16.5vmin, transparent 16.75vmin, #020202 17vmin, black 19.75vmin, transparent 20vmin, transparent 20.25vmin, #020202 20.5vmin, black 23.25vmin, transparent 23.5vmin, transparent 23.75vmin, #020202 24vmin, black 26.75vmin, transparent 27vmin, transparent 27.25vmin, #020202 27.5vmin, black 30.25vmin, transparent 30.5vmin, transparent 30.75vmin, #020202 31vmin, black 33.75vmin, transparent 34vmin, transparent 34.25vmin, #020202 34.5vmin, black 37.25vmin, transparent 37.5vmin, transparent 37.75vmin, #020202 38vmin, black 41vmin, transparent 41.25vmin, transparent 41.5vmin, #020202 41.75vmin, black 44.5vmin, transparent 44.75vmin, transparent 45vmin, #020202 45.25vmin, black 51vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 13.5vmin)/52vmin 3vmin no-repeat, linear-gradient(90deg, transparent 0vmin, #020202 0.25vmin, black 7.25vmin, transparent 7.55vmin, transparent 7.75vmin, #020202 8vmin, black 10.75vmin, transparent 11vmin, transparent 11.25vmin, #020202 11.5vmin, black 14.25vmin, transparent 14.5vmin, transparent 14.75vmin, #020202 15vmin, black 17.75vmin, transparent 18vmin, transparent 18.25vmin, #020202 18.5vmin, black 21.25vmin, transparent 21.5vmin, transparent 21.75vmin, #020202 22vmin, black 24.75vmin, transparent 25vmin, transparent 25.25vmin, #020202 25.5vmin, black 28.25vmin, transparent 28.5vmin, transparent 28.75vmin, #020202 29vmin, black 31.75vmin, transparent 32vmin, transparent 32.25vmin, #020202 32.5vmin, black 35.25vmin, transparent 35.5vmin, transparent 35.75vmin, #020202 36vmin, black 39vmin, transparent 39.25vmin, transparent 39.5vmin, #020202 39.75vmin, black 42.5vmin, transparent 42.75vmin, transparent 43vmin, #020202 43.25vmin, black 51vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 17vmin)/52vmin 3vmin no-repeat, linear-gradient(90deg, transparent 0vmin, #020202 0.25vmin, black 3vmin, transparent 3.25vmin, transparent 3.5vmin, #020202 3.75vmin, black 6.5vmin, transparent 6.75vmin, transparent 7vmin, #020202 7.25vmin, black 10vmin, transparent 10.25vmin, transparent 10.5vmin, #020202 10.75vmin, black 14vmin, transparent 14.25vmin, transparent 14.5vmin, #020202 14.75vmin, black 31.5vmin, transparent 31.75vmin, transparent 32vmin, #020202 32.25vmin, black 36vmin, transparent 36.25vmin, transparent 36.5vmin, #020202 37vmin, black 39.75vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 20.65vmin)/52vmin 3vmin no-repeat, linear-gradient(90deg, transparent 0vmin, transparent 44vmin, #020202 44.25vmin, black 47.25vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 20.5vmin)/52vmin 1.5vmin no-repeat, linear-gradient(90deg, transparent 0vmin, transparent 40.25vmin, #020202 40.5vmin, black 43.5vmin, transparent 43.75vmin, transparent 44vmin, #020202 44.25vmin, black 47.25vmin, transparent 47.5vmin, transparent 47.75vmin, #020202 48vmin, black 51vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 22.25vmin)/52vmin 1.5vmin no-repeat, radial-gradient(ellipse, rgb(176.2, 176.2, 176.2) 14vmin, rgb(178.75, 178.75, 178.75) 16.25vmin, transparent 15.5vmin) calc(0vmin + 17.5vmin) calc(0vmin + 26vmin)/24vmin 14vmin no-repeat, linear-gradient(90deg, transparent 1.75vmin, black 2vmin, black 49.25vmin, transparent 1vmin) calc(0vmin + 4.5vmin) calc(0vmin + 0vmin)/52vmin 1.75vmin no-repeat, radial-gradient(ellipse, #020202 6.5vmin, transparent 1vmin) calc(0vmin + 24vmin) calc(0vmin + 42.25vmin)/10vmin 2vmin no-repeat, linear-gradient(180deg, rgb(127.75, 127.75, 127.75) 10vmin, rgb(178.75, 178.75, 178.75) 50vmin, transparent 1vmin) calc(0vmin + 0vmin) calc(0vmin + 0vmin)/100vmin 43vmin no-repeat, linear-gradient(#020202 50vmin, transparent 1vmin) calc(0vmin + 0vmin) calc(0vmin + 0vmin)/100vmin 100vmin no-repeat;
}
