﻿.msg_loading {
  margin-top: 20px;
  font-size: 20px;
  margin-left: 10px;
  color: whitesmoke;
  font-weight: 600; }

.bookshelf_wrapper {
  position: relative;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%); }

.books_list {
  margin: 0 auto;
  width: 300px;
  padding: 0; }

.book_item {
  position: absolute;
  top: -120px;
  box-sizing: border-box;
  list-style: none;
  width: 40px;
  height: 120px;
  opacity: 0;
  background-color: black;
  border: none;
  transform-origin: bottom left;
  transform: translateX(300px);
  animation: travel 5000ms linear infinite; }
  .book_item.first {
    top: -140px;
    height: 140px; }
    .book_item.first:before, .book_item.first:after {
      content: '';
      position: absolute;
      top: 10px;
      left: 0;
      width: 100%;
      height: 3px;
      background-color: white; }
    .book_item.first:after {
      top: initial;
      bottom: 10px; }
  .book_item.second:before, .book_item.second:after, .book_item.fifth:before, .book_item.fifth:after {
    box-sizing: border-box;
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 10.5px;
    border-top: 3px solid white;
    border-bottom: 3px solid white; }
  .book_item.second:after, .book_item.fifth:after {
    top: initial;
    bottom: 10px; }
  .book_item.third:before, .book_item.third:after {
    box-sizing: border-box;
    content: '';
    position: absolute;
    top: 10px;
    left: 9px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 3px solid white; }
  .book_item.third:after {
    top: initial;
    bottom: 10px; }
  .book_item.fourth {
    top: -130px;
    height: 130px; }
    .book_item.fourth:before {
      box-sizing: border-box;
      content: '';
      position: absolute;
      top: 46px;
      left: 0;
      width: 100%;
      height: 10.5px;
      border-top: 3px solid white;
      border-bottom: 3px solid white; }
  .book_item.fifth {
    top: -100px;
    height: 100px; }
  .book_item.sixth {
    top: -140px;
    height: 140px; }
    .book_item.sixth:before {
      box-sizing: border-box;
      content: '';
      position: absolute;
      bottom: 31px;
      left: 0px;
      width: 100%;
      height: 3px;
      background-color: white; }
    .book_item.sixth:after {
      box-sizing: border-box;
      content: '';
      position: absolute;
      bottom: 10px;
      left: 9px;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      border: 3px solid white; }
  .book_item:nth-child(2) {
    animation-delay: 833.33333ms; }
  .book_item:nth-child(3) {
    animation-delay: 1666.66667ms; }
  .book_item:nth-child(4) {
    animation-delay: 2500ms; }
  .book_item:nth-child(5) {
    animation-delay: 3333.33333ms; }
  .book_item:nth-child(6) {
    animation-delay: 4166.66667ms; }

.first {
  background-color: #004a23; }

.second {
  background-color: #165f65; }

.third {
  background-color: #651b1b; }

.fourth {
  background-color: #132047; }

.fifth {
  background-color: #380F37; }

.shelf {
  width: 300px;
  height: 3px;
  margin: 0 auto;
  background-color: white;
  position: relative; }
  .shelf:before, .shelf:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    background-image: radial-gradient(rgba(100, 100, 100, 0.9) 34%, transparent 0);
    background-size: 10px 10px;
    background-position: 0 -2.5px;
    top: 200%;
    left: 5%;
    animation: move 500ms linear infinite; }
  .shelf:after {
    top: 400%;
    left: 7.5%; }

@keyframes move {
  from {
    background-position-x: 0; }
  to {
    background-position-x: 10px; } }

@keyframes travel {
    10% {
        opacity: 0;
        transform: translateX(0px) rotateZ(0deg);
    }

    17.6% {
        opacity: 0;
    }

    45% {
        opacity: 1;
        transform: translateX(49.5px) rotateZ(-30deg);
    }

    49.5% {
        transform: translateX(72px) rotateZ(-30deg);
    }

    61.5% {
        transform: translateX(99px) rotateZ(-45deg);
    }

    67% {
        transform: translateX(115.5px) rotateZ(-45deg);
    }

    76% {
        transform: translateX(151.5px) rotateZ(-60deg);
    }

    83.5% {
        transform: translateX(165px) rotateZ(-60deg);
    }

    90% {
        transform: translateX(247.2px) rotateZ(-90deg);
    }

    100% {
        opacity: 1;
        transform: translateX(280px) rotateZ(-90deg);
    }
}

