main.main
  .tape
    .holes
      .tape-hole.-topRight
      .tape-hole.-topLeft
      .tape-hole.-bottomRight
      .tape-hole.-bottomLeft

      .tape-sticker
        .letter-right A
        .letter-left A

        .sticker-header
          .tape-titles
            h1.tape-title TWENTY FOUR
            h2.tape-author JONATHAN OGDEN
            
          .tape-gradient
            .gradient

        .ribbons
          .ribbonLeft-wrapper 
            .ribbon-left 
          .ribbonRight-wrapper 
            .ribbon-right

        .sticker-footer
           span.tracks-text 24 tracks based on the <br> 24 hours in a day
           .lines
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line
             .line 
             .line 
             .line 
             .line

      .footer-wrapper
        .trapezoid
          .left-hole
          .right-hole
          .center-hole
          .center-square

  a(href="https://www.youtube.com/watch?v=R8Z0oAP8buU" target="_blank" class="button-primary") LISTEN THE TAPE
View Compiled
*{
  box-sizing: border-box;
}

.main {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.tape {
  width: 600px;
  height: 340px;
  background-color: rgba(231,231,231, 0.4);
  border-radius: 13px;
  border: solid 1px #D3D3D3;
  box-shadow: 0px 6px 20px rgba(0,0,0,0.16);
  position: relative;
}

.tape-hole {
  position: absolute;
  width: 15px;
  height: 15px;
  background-color: #BABABA;
  border-radius: 14px;
  border: solid 1px #8C8C8C;
  
  &.-topRight {
    top: 6px;
    right: 6px;
  }
  
  &.-topLeft {
    top: 6px;
    left: 6px;
  }
  
  &.-bottomRight {
    bottom: 6px;
    right: 6px;
  }
  
  &.-bottomLeft {
    bottom: 6px;
    left: 6px;
  }
}

.footer-wrapper {
  position: absolute;
  bottom: 0;
  left: calc(50% - 205px);
}

.trapezoid {
  position: relative;
  border-bottom: 70px solid #CCCCCC;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  height: 0;
  width: 410px;
}

.left-hole, .right-hole {
  width: 25px;
  height: 25px;
  background-color: #E7E7E7;
  border-radius: 50%;
}

.right-hole {
  position: absolute;
  top: 25px;
  right: 12px;
}

.left-hole {
  position: absolute;
  top: 25px;
  left: 12px;
}

.center-hole {
  position: absolute;
  width: 15px;
  height: 15px;
  background-color: #BABABA;
  border-radius: 14px;
  border: solid 1px #8C8C8C;
  top: 17px;
  left: calc(205px - 12px - 7px);
}

.center-square {
  position: absolute;
  width: 64px;
  height: 26px;
  background-color: #E7E7E7;
  border-radius: 5px;
  border: solid 1px #D3D3D3;
  top: 40px;
  left: calc(205px - 12px - 32px);
}

.tape-sticker {
  width: 558px;
  left: 230px;
  background-color: #080C15;
  border-radius: 20px;
  display: block;
  margin: 0 auto;
  margin-top: 30px;
  padding-bottom: 18px;
}

.sticker-header {
  width: 418px;
  margin: 0 auto;
  display: block;
  position: relative;
  padding-top: 2px;
}

.tape-titles {
  margin-top: 10px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.tape-title {
 margin: 0;
  font-size: 24px;
  padding: 0;
  display: block;
  font-family: "Yantramanav", sans-serif;
  color: #FFFDFD;
  font-weight: bold;
  text-transform: uppercase;
}

.tape-author {
  font-size: 24px;
  margin: 0;
  padding: 0;
  display: block;
 -webkit-text-stroke: 0.7px #FFFDFD;
   font-family: "Yantramanav", sans-serif;
  color: transparent;
  font-weight: bold;
}

.tape-gradient {
  margin-top: 5px;
  width: 100%;
  height: 25px;
  position: relative;
  overflow: hidden;
}

.gradient {
  width: 400%;
  height: 25px;
  position: absolute;
  background: linear-gradient(
    90deg,
    #59BDF1 0%,
    #597BA9 15%,
    #F06F83 35%,
    #EFAC99 50%,
    #EFAC99 50%,
    #F06F83 65%,
    #597BA9 85%,
    #59BDF1 100%,
  );
  background-repeat: repeat;
  background-size: 50% auto;
  animation: gradient 15s linear infinite;
  transform-origin: center bottom;
}

@keyframes gradient {
  0% {
    transform: translateX(-50%) translateZ(0) scaleY(1);
  }
}

.ribbons {
  width: 378px;
  height: 92px;
  border-radius: 46px 46px 46px 46px;
  background-color: #E7E7E7;
  margin: 12px auto 0  auto;
  border: solid 1px #fff;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ribbonLeft-wrapper {
  width: 200px;
  height: 200px;
  margin-left: -48px;
}

.ribbonRight-wrapper {
  width: 120px;
  height: 120px;
  margin-right: -10px;
}

.ribbonLeft-wrapper, .ribbonRight-wrapper {
  border-radius: 50%;
  background-color: #080C15;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ribbon-left, .ribbon-right {
  width: 110px;
  height: 110px;
  background-color: #DDDDDD;
  border: solid 24px #fff;
  border-radius: 50%;
}

.ribbon-left {
   margin-left: -5px;
}
.ribbon-right {
   margin-right: -5px;
}

.sticker-footer {
  margin-top: 10px;
  display: flex;
  margin-left: 62px;
}

.lines {
  display: flex;
  width: 163px;
  justify-content: space-between;
  margin-left: 42px;
}

.line {
  width: 1px;
  height: 21px;
  background-color: #FFFDFD;
}

.tracks-text {
  display: block;
  color: #FFFDFD;
  font-size: 10px;
  line-height: 1em;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Yantramanav", sans-serif;
}

.letter-right, .letter-left {
  font-family: "Roboto", sans-serif;
  position: absolute;
  color: #FFFDFD;
  font-size: 38px;
}

.letter-left {
   top: 132px; 
  left: 57px;
}

.letter-right {
   top: 132px; 
  right: 57px;
}

.button-primary {
  background-color: #080C15;
  font-family: "Yantramanav", sans-serif;
  color: #FFFDFD;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 18px;
  padding: 8px 15px;
  text-decoration: none;
  margin-top: 20px;
  &:hover {
    background: linear-gradient(90deg, #59BDF1 0%, #597BA9 30.21%, #F06F83 72.92%, #EFAC99 100%);
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.