* {
    margin: 0px;
    padding: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    font-family: Roboto, Arial, sans-serif;
    font-size: 100%;
    background: #f1f4fc;
	overflow-x: hidden;
}

.HorCentered {
    position: relative;
    left: 50%;
    transform: translate(-50%);
}

.Centered {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
}




#PrimeHeader {
    height: 100vh;
    margin-bottom: 2vh;

    background-image: url(../Resources/Images/HeaderBackground.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

#PromoPanel {
    width: 100%;
    background: rgba(200, 210, 250, 0.3);
    padding: 10px;
    text-align: center;
}

#PrimeHeader div img {
    width: 100%;
    max-width: 600px;
    margin-bottom: 5vh;
}

#PrimeHeader p {
    color: #eff;
    font-size: 120%;
}

#PrimeHeader > #HeaderBarPanel {
    position: absolute;
    top: 85vh;
    width: 100vw;
    height: 15vh;

    /* No gradient support */
    background: rgb(1, 1, 5);
    /* For Safari 5.1 to 6.0 */
    background: -webkit-linear-gradient(rgba(1, 1, 10, 0), rgb(1, 1, 5));
    /* For Opera 11.1 to 12.0 */
    background: -o-linear-gradient(rgba(1, 1, 10, 0), rgb(1, 1, 5));
    /* For Firefox 3.6 to 15 */
    background: -moz-linear-gradient(rgba(1, 1, 10, 0), rgb(1, 1, 5));
    /* Standard syntax */
    background: linear-gradient(rgba(1, 1, 10, 0), rgb(1, 1, 5));
}

#HeaderBar {
    position: absolute;
    right: 5px;
    bottom: 5px;
}

#HeaderBarPanel > nav > a {
    color: #eff;
    text-decoration: none;
    padding-right: 10px;
}

#HeaderBarPanel > nav > a > i {
    position: relative;
    top: 50%;
    transform: translate(-20%, 20%);
    font-size: 120%;
}





main {
    min-height: 100vh;
    padding-bottom: 20px;
}

#MainPanel {
    width: 90vw;
    max-width: 1250px;
}

@media all and (max-width: 1382px) {
    article {
        position: relative;
        left: 50%;
        transform: translate(-51.5%);
    }
}

article {
    margin: 10px;
    background: #eff2fb;
    box-shadow: 0px 0px 5px #e2e2e2;
    border-radius: 0.2em;
    width: 90vw;
    max-width: 600px;
    padding: 1%;
    display: inline-block;
}

.BookImg {
    position: relative;
    width: 28%;
    max-width: 200px;
    height: auto;
    margin: 1%;
    display: inline-block;
    float: left;
    box-shadow: 1px 1px 5px #9aacd1;
}


.BookDetails {
    width: 68%;
    display: inline-block;
    float: left;
    color: #222;
}

.BookDetails > table {
    width: 100%;
}

.BookDetails > table > tbody > tr > td {
    font-size: 80%;
}

.BookDetails > table > tbody > tr > td:nth-child(1) {
    width: 25%;
    vertical-align: text-top;
}

.BookDetails > table > tbody > tr > td:nth-child(2) {
    padding-left: 1%;
    width: 75%;
}

.BookDetails > table > tbody > tr:nth-child(4) > td > span {
    cursor: pointer;
}

.BookDetails > table > tbody > tr > td > span > i {
    position: relative;
    top: 50%;
    transform: translate(0, 20%);
    font-size: 120%;
    margin-right: 0.5em;
}

.DetailsTitle {
    text-decoration: none;
    display: block;
    width: 100%;
    font-size: 100%;
    font-weight: bold;
    color: #222;
    border-bottom: 1px solid #000;
}

.DetailsSectionTitle {
    font-size: 90%;
    font-weight: bold;
    padding-top: 2%;
}