* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: url(./images/floor.jpg);

  background-attachment: fixed;
  background-size: cover;

  /* ANOTHER METHOD TO COVER A IMAGE AS BACKGROUND WITH STRETCH AND NO REPEAT */

  /* background: url(./images/floor.jpg) no-repeat;
  background-size: 100% 100%; */
}

.book {
  position: relative;
  top: 0;
  width: 400px;
  height: 600px;
  background: #fff;
  transform: rotate(-37.5deg) skewX(10deg) translate(-30px, -15px);
  box-shadow: -35px 35px 50px rgba(0, 0, 0, 1);
}

.book:hover {
  transform: rotate(-37.5deg) skewX(10deg) translate(20px, -20px);
  box-shadow: -50px 50px 100px rgba(0, 0, 0, 1);
}

.book:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 100%;
  /* background: #8a0e0e; */
  background: url(./images/bg.jpg);
  transform: skewY(-45deg) translate(-30px, -15px);
  box-shadow: inset -10px 0 20px rgba(0, 0, 0, 0.2);
}

.book:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background: #ccc;
  transform: skewX(-45deg) translate(15px, 30px);
  box-shadow: inset -10px 0 20px rgba(0, 0, 0, 0.2);
}

.book h2 {
  position: absolute;
  bottom: 100px;
  left: 20px;
  font-size: 5em;
  line-height: 1 em;
  color: #fff;
}

.book h2 span {
  background: url(./images/bg.jpg);
  background-attachment: fixed;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.book .writer {
  position: absolute;
  bottom: 20px;
  right: 20px;
  color: #262626;
  font-size: 1.2em;
  padding-top: 5 px;
  font-weight: 500;
  border-top-left-radius: 1px solid #262626;
}

.book .writer i {
  font-weight: 700;
}

.book .cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 70%;
  background: url(./images/bg.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
