assets/css/features/book.css
.book-container {
    margin-top: 2em;
    margin-bottom: 1em;
}

.book-thumb {
    border: 1px solid var(--font-color);
    margin: 1em;
    padding: 1em;
    border-radius: var(--small-border-radius);
}

.book-expert-name-tag {
    border: 1px solid var(--font-color);
    border-radius: var(--small-border-radius);
    margin-bottom: 0.2em;
    padding: 0 0.2em;
    display: inline-block;
}

.book-figure {
	border-left: 2px solid var(--font-highlight-color);
}

.small-book,
.small-book > :first-child,
.book::after {
    width: 100px !important;
    height: 150px !important;
    max-width: unset;
}
.small-book::before {
    width: 48px !important;
    height: 144px !important;
    max-width: unset;
    transform: translateX(72px) rotateY(90deg) !important;
}

.book-author {
    color: var(--font-color);
}

.book-page-intro {
    padding: 1em;
    border: 1px solid var(--font-color);
    border-radius: var(--small-border-radius);
    margin-bottom: 1em;
    position: relative;
}

@media (min-width: 600px) {                  
    .book-page-intro-bottom {
        position: absolute;                  
        bottom: 1em;                          
        left: 1em;  
    }
}

/* 
 * START 3D BOOK CSS
 * Generated with:
 * https://github.com/scastiel/3d-book-image-css-generator
 * license: MIT
 */
.book-container {
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 600px;
}

@keyframes initAnimation {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-23deg);
  }
}

.book {
  width: 200px;
  height: 300px;
  position: relative;
  transform-style: preserve-3d;
  transform: rotateY(-23deg);
  transition: 0.5s ease;
  animation: 1s ease 0s 1 initAnimation;
}

.book-container:hover .book, 
.book-container:focus .book {
  transform: rotateY(0deg);
}

.book > :first-child {
  position: absolute;
  top: 0;
  left: 0;
  background-color: red;
  width: 200px;
  height: 300px;
  transform: translateZ(25px);
  background-color: #01060f;
  border-radius: 0 2px 2px 0;
  box-shadow: 5px 5px 20px #666;
}

.book::before {
  position: absolute;
  content: ' ';
  background-color: blue;
  left: 0;
  top: 3px;
  width: 48px;
  height: 294px;
  transform: translateX(172px) rotateY(90deg);
  background: linear-gradient(90deg, 
    #fff 0%,
    #f9f9f9 5%,
    #fff 10%,
    #f9f9f9 15%,
    #fff 20%,
    #f9f9f9 25%,
    #fff 30%,
    #f9f9f9 35%,
    #fff 40%,
    #f9f9f9 45%,
    #fff 50%,
    #f9f9f9 55%,
    #fff 60%,
    #f9f9f9 65%,
    #fff 70%,
    #f9f9f9 75%,
    #fff 80%,
    #f9f9f9 85%,
    #fff 90%,
    #f9f9f9 95%,
    #fff 100%
    );
}

.book::after {
  position: absolute;
  top: 0;
  left: 0;
  content: ' ';
  width: 200px;
  height: 300px;
  transform: translateZ(-25px);
  background-color: #01060f;
  border-radius: 0 2px 2px 0;
  box-shadow: -10px 0 50px 10px #666;
}
/*
 * END 3D BOOK CSS
 */

.book-thumb-recommendations {
    margin-bottom: 1em;
}
