/*-------IMPORTS --------------*/
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Goblin+One&display=swap');

* {
    padding: 0;
    margin: 0;
}

.body-container {
    margin: auto;
    margin-top: 100px;
    width: 75vw;
}

/* ------------------------  SPACERS  ------------------------ */
.small-spacer {
    height: 10%;
}

/* ------------------------  WOODEN SHELF ------------------------ */
/*.shelf {
    height: 30px;
    width: 100%;
    /*background-color: rgb(233, 174, 140);
    border: 2px solid rgb(224, 167, 135);*
    background-image: linear-gradient(rgb(233, 174, 140), rgb(233, 174, 140), rgb(199, 149, 120));
    border-radius: 6px;
}*/


.book-container {
    display: flex;
    height: 300px;
    padding-left: 30px;
    padding-right: 30px;
    gap: 1px;
}

/* ----------------------  SHARED BOOK PROPERTIES ------------------------ */
.book {
    transition: transform 0.6s ease;
    will-change: transform;
}

.book:hover {
    transform: scale(1.2);
    box-shadow: 12px 10px 11px -3px rgba(0, 0, 0, 0.30),
        -12px 10px 11px -3px rgba(0, 0, 0, 0.30);
    z-index: 1;
    cursor: pointer;
}

/* ------------------------  BOOK 1 DESIGN ------------------------ */
.book1 {
    margin-top: 0px;
    width: 50px;
    height: 300px;
    border-radius: 5px;
    border: 0px solid rgb(104, 104, 104);
    background-color: gray;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.097), rgba(0, 0, 0, 0.15));
    color: white;
}

.book1-title {
    padding: 5px;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 12px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-transform: uppercase;
}

.book1-author {
    font-size: 10px;
    writing-mode: initial;
    text-orientation: initial;
    text-transform: uppercase;
    text-align: center;
    font-family: Verdana, Geneva, sans-serif;
}

.book1-publish-logo {
    text-align: center;
    color: rgba(255, 255, 255, 0.2);
}

.book1-line {
    width: 100%;
    height: 2px;
    background-color: rgba(255, 234, 0, 0.147);
    margin: 2px 0 2px 0;
}

.book1-item-content {
    margin: 2px 2px 2px 2px;
    width: auto;
    height: 296px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.book1-vertical-lines {
    margin: 0 1px 0 1px;
    display: flex;
    justify-content: space-between;
}

.book1-vertical-lines span {
    border-right: solid 1px;
    border-color: rgba(255, 255, 255, 0.2);
    height: 10px;
}

.book1-line-container,
.book1-bottom-book,
.book1-top-book {
    width: 100%;
}


/* ------------------------  BOOK 2 DESIGN ------------------------ */
/* The Modern Library Classics*/
.book2 {
    width: 38px;
    height: 290px;
    margin-top: 10px;
    border-radius: 5%;
    background-color: rgb(211, 143, 98);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.097), rgba(0, 0, 0, 0.15));
    color: rgb(48, 48, 48);
}

.book2-spine {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.book2-top {
    border-radius: 5% 5% 0 0;
    background-color: rgb(44, 44, 44);
    color: rgba(245, 245, 245, 0.73);
    font-size: 8px;
    height: 25%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    font-family: sans-serif;
}

.book2-wl {
    height: 1px;
    width: 100%;
    background-color: rgba(245, 245, 245, 0.73);
    margin: 1px 0;
}

.book2-symbol {
    height: 20%;
}

.book2-title,
.book2-author {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: serif;
}

.book2-title {
    font-size: 14px;
    text-transform: capitalize;
}

.book2-author {
    font-size: 8px;
    text-transform: uppercase;
    padding: 5px 0;
}


/* ------------------------  BOOK 3 DESIGN ------------------------ */
/* Penguin Classic*/

.book3 {
    width: 30px;
    height: 275px;
    margin-top: 25px;
    border-radius: 5%;
    background-color: rgb(34, 34, 34);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.097), rgba(0, 0, 0, 0.5));
    color: rgb(231, 231, 231);
}

.book3-spine {
    display: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.book3-top,
.book3-bottom {
    display: flex;
    flex-direction: column;
}

.book3-author,
.book3-title,
.book3-publisher-name {
    font-family: Verdana, Geneva, sans-serif;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-transform: uppercase;
    text-align: center;
}

.book3-top {
    height: 70%;
    font-size: 6px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    margin: auto;
}

.book3-top-container {
    height: 90%;
    display: flex;
    flex-direction: column;
    gap: 3%;
}

.book3-orangeline {
    height: 1px;
    border-radius: 5%;
    background-color: rgb(188, 78, 0);
}

.book3-bottom {
    height: 30%;
    font-size: 7px;
}

.book3-publisher {
    height: 28px;
    background-color: whitesmoke;
}

.book3-publisher-name {
    margin: auto;
}

/* ------------------------  BOOK 4 DESIGN ------------------------ */
/* English Library */

.book4 {
    width: 60px;
    height: 275px;
    margin-top: 25px;
    border-radius: 5%;
    background-color: rgb(255, 115, 0);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.023), rgba(0, 0, 0, 0.1));
    color: rgb(231, 231, 231);
}

.book4-spine {
    height: 100%;
    width: 75%;
    margin: auto;
    background-color: rgb(65, 65, 65);
}

.book4-inner {
    height: 100%;
    width: 65%;
    margin: auto;
    background-color: rgb(208, 139, 167);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.book4-top {
    width: 100%;
    height: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.book4-author,
.book4-title {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-transform: uppercase;
    color: rgb(65, 65, 65);
    text-align: center;
}

.book4-author {
    font-family: sans-serif;
    margin-top: 10px;
    font-size: 11px;
}

.book4-title {
    font-family: serif;
    font-size: 12px;
}

.book4-bottom {
    margin: auto;
}

/* ------------------------  BOOK 5 DESIGN ------------------------ */
/* Everyman's Library*/

.book5 {
    height: 285px;
    width: 50px;
    margin-top: 15px;
    border-radius: 5%;
    background-color: rgb(175, 37, 37);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.023), rgba(0, 0, 0, 0.1));
    z-index: 0;
}

.book5-spine {
    height: 100%;
    width: 100%;
    position: relative;
}

.book5-container {
    position: absolute;
    top: 18%;
    width: 100%;
    height: 30%;
}

.book5-goldline {
    height: 7%;
    background-color: rgb(172, 152, 96);
}

.book5-bookinfo {
    height: 93%;
    padding: 10% 0;
    background-color: rgb(44, 44, 44);
    color: rgb(172, 152, 96);
    text-align: center;
    display: flex;
    flex-direction: column;
    padding: 10% 0;
    gap: 5%;
}

.book5-author {
    font-family: serif;
    font-size: 10px;
    padding: 0 5%;
}

.book5-symbol {
    background-color: rgba(172, 152, 96, 0.5);
    height: 10%;
    width: 25%;
    border-radius: 50%;
    margin: auto;
}

.book5-title {
    font-family: sans-serif;
    text-transform: uppercase;
    font-size: 8px;
}

.book5-publisher {
    position: absolute;
    top: 75%;
    left: 20%;
    width: 60%;
    height: 15%;
    background-color: rgb(175, 37, 37);
    font-size: 5px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.book5-vlines,
.book5-hlines {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
}

.book5-hlines {
    flex-direction: column;
}

.book5-vl {
    width: 1px;
    height: 100%;
    background-color: rgba(44, 44, 44, 0.515);
    z-index: -1;
}

.book5-vl:nth-child(1),
.book5-vl:nth-child(15) {
    height: 65%;
    margin-top: 6px;
}

.book5-vl:nth-child(2),
.book5-vl:nth-child(14) {
    height: 75%;
}

.book5-vl:nth-child(3),
.book5-vl:nth-child(13) {
    height: 80%;
}

.book5-vl:nth-child(4),
.book5-vl:nth-child(12) {
    height: 85%;
}

.book5-vl:nth-child(5),
.book5-vl:nth-child(11) {
    height: 87%;
}

.book5-vl:nth-child(6),
.book5-vl:nth-child(10) {
    height: 90%;
}

.book5-vl:nth-child(7),
.book5-vl:nth-child(9) {
    height: 93%;
}

.book5-vl:nth-child(8) {
    height: 97%;
}


.book5-hl {
    width: 100%;
    height: 1px;
    background-color: rgba(172, 152, 96, 0.645);
    z-index: -2;
}

.book5-hl:nth-child(1),
.book5-hl:nth-child(80) {
    width: 45px;
    margin-left: 2px;
}

.book5-hl:nth-child(2),
.book5-hl:nth-child(79) {
    width: 48px;
    margin-left: 1px;
}

/* ------------------------  GAME 1 DESIGN ------------------------ */
/* XBOX */
.boxx {
    width: 20px;
    height: 260px;
    margin-top: 15px;
    border-radius: 5%;
    background-color: rgb(149, 223, 39);
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.boxx-spine {
    height: 96%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: rgb(230, 230, 230);
}

.boxx-logo {
    border-bottom: 1px solid rgb(9, 158, 9);
    height: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3%;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    background-color: rgb(243, 243, 243);
}

.boxx-circle {
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background-color: rgb(9, 158, 9);
}

.boxx-green {
    color: rgb(144, 211, 43);

}

.boxx-grey {
    color: rgb(128, 128, 128);

}

.boxx-green,
.boxx-grey {
    font-size: 11px;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

.boxx-title {
    height: 50%;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    margin: auto;

}

.boxx-ntsc {
    width: fit-content;
    font-size: 4px;
    padding: 0 2px;
    border: 1px solid rgba(56, 56, 56, 0.685);
    font-family: Arial, Helvetica, sans-serif;
    margin: auto;
    background-color: white;
}

/* ------------------------  GAME 2 DESIGN ------------------------ */
/* PS2 */
.ps2 {
    width: 20px;
    height: 260px;
    margin-top: 15px;
    border-radius: 5%;
    background-color: rgb(22, 22, 22);
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.ps2-spine {
    height: 96%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: rgb(0, 56, 56);
}

.ps2-logo {
    border-bottom: 1px solid rgba(221, 221, 221, 0.74);
    height: 37%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3%;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    background-color: rgb(24, 24, 24);
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 10px;
    color: rgb(226, 226, 226)
}

.ps2-2 {
    font-size: 11px;
}

.ps2-box {
    background-color: rgb(240, 240, 240);
    height: 15px;
    width: 15px;

}

.ps2-title {
    height: 50%;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 13px;
    font-family: "Bebas Neue", sans-serif;
    margin: auto;
    color: whitesmoke;
}

.ps2-bottom {
    font-size: 4px;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 5px;
}

.ps2-ntsc {
    background-color: whitesmoke;
    font-size: 3px;
    border: 1px solid black;
    display: flex;
    justify-content: center;
    gap: 1px;
    color: black;
}

.ps2-ntsc-div {
    width: 1px;
    height: 100%;
    background-color: black;
}

/* ------------------------  GAME 3 DESIGN ------------------------ */
/* PC */
.pc {
    width: 20px;
    height: 260px;
    margin-top: 15px;
    border-radius: 5%;
    background-color: rgb(22, 22, 22);
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.pc-spine {
    height: 96%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: rgb(36, 36, 36);
    color: whitesmoke;
}

.pc-logo {
    height: 13%;
    background-color: whitesmoke;
    color: black;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pc-pc {
    font-size: 14px;
}

.pc-dvd {
    font-size: 5px;
}

.pc-title {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    text-align: center;
    text-transform: uppercase;
    margin: auto;
    height: 82%;
    font-size: 10px;
    font-family: "Goblin One", serif;
    overflow: hidden;
    text-wrap-mode: nowrap;
    text-overflow: clip;
}


/* --------  turn off animations if user has reduced motion on -------- */
@media (prefers-reduced-motion: reduce) {
    .book {
        transition: none;
    }

    .book:hover {
        transform: scale(1.02);
        box-shadow: none;
    }
}