* {
    box-sizing: border-box;
}
html{
    height: 100%;
}
body {
    min-height: 100vh;
    display: flex;
    margin: 0;
    padding: 0; 
    display: flex;
    flex-direction: column;
}
#body{
    min-height: 65vh;
    display: flex;
    flex-grow: 1;
    margin: 0;
    padding: 0; 
}
#header-out{
    display: flex;
    flex-direction: column;
}
#header{
    display: flex;
    flex: 1;
    flex-direction: row;
    border-bottom: 1px solid rgba(0,0,0,0.2);
    background-color: rgb(248, 248, 245);
    height: 6em;
    position: relative;
}
#page-nav{
    flex: 1;
    height: 5em;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    padding: 2.5%;
    padding-bottom: 1.25%;
}
#current-page{
    font-size: 1.5em;
    font-family: "Papyrus";
}
#logo-area{
    flex-basis: 20%;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.1em;
    min-width: 25em;
}
#header-img-container{
    height: 5.5em;
    width: 5.5em;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 1.5em;
}
#logo-area img{
    max-width: 100%;
    margin-top: -22.5%;
    height: auto;
    width: auto;
}
#header-logo-text{
    flex: 1;
    font-family: papyrus;
    font-size: 1.5em;
}
#nav-area a{
    text-decoration: none;
    color: rgb(43, 99, 99);
    font-size: 1.25em;
    font-family: "Papyrus";
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 2.5%;
}
#nav-area a:hover{
    color: black;
    cursor: pointer;
    transition: ease-in-out 0.125s;
}
#nav-area a.checked{
    color: black;
}
#nav-area a.checked:hover{
    cursor: default;
}
#nav-area{
    display: flex;
    flex-grow: 1;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 2.5% 0 0;
}
#booklist{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    flex-wrap: wrap;
    padding: 1.25%;
}
.book-section{
    position: relative;
    display: flex;
    flex-basis: row;
    align-items: stretch;
    flex: 1;
    margin-bottom: 2.5%;
}
.book-cover-area{
    flex-basis: 25%;
    min-width: 14em;
    height: 18em;
    margin-right: 1.25%;
}
.cover-mask{
    position: absolute;
    width: 14em;
    height: 18em;
    overflow: hidden;
}
.cover-mask img{
    max-width: 100%;
    height: auto; 
    width: auto;
}
.book-title-area{
    flex-grow: 1;
}
.book-title{
    flex: 3;
    font-size: 1.5em;
}
.book-description{
    font-size: 1em;
}
.page-body{
    padding: 2.5%;
    display: flex;
    flex-direction: column;
}
.page-item{
    margin-bottom: 2.5%;
}
.page-title{
    font-size: 1.5em;
    color: rgb(127, 127, 123);
    font-family: "Papyrus";
}
.page-text{
    font-size: 1em;
}
.twitter-link{
    font-size: 1.5em;
    text-decoration: none;
    flex-grow: 1;
}
.twitter-icon {
    font-size: 2.5em;
    width: 5em;
    height: 5em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.twitter-link:hover{
    text-decoration: none !important;
    transition: ease-in-out 0.125s;
}
#footer {
    min-height: 35vh;
    background-color: rgb(89, 122, 83);
    display: flex;
    flex-direction: column;
}
#footer-top-area{
    flex: 1;
    display: flex;
    flex-direction: row;
}
#footer-lower-area{
    flex: 1;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-family: papyrus;
    font-size: 0.8em;
}
#footer-section-sep{
    align-self: center;
    border-top: 1px solid rgba(255,255,255,0.7);
    width: 80%;
}
#footer .twitter-icon{
    color: rgba(255,255,255,0.8);
    font-size: 1.5em;
}
#footer .twitter-icon:hover{
    color: white;
    transition: ease-in-out 0.125s;
}
#footer-main-area{
    flex-basis: 80%;
}
#footer-social-area{
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    flex-basis: 20%;
}
#inquiry-form-area{
    display: flex;
    flex-direction: column;
    border-radius: 5px;
    border: 1px solid rgba(0,0,0,0.4);
    padding: 2.5%;
}
#inquiry-form{
    display: flex;
    flex-direction: column;
}
#inquiry-form input{
    margin: 1.25%;
    border: 1px solid rgba(0,0,0,0.5);
    height: 2em;
}
#inquiry-form #submit{
    border-radius: 5px;
    transition: ease-in-out 0.125s;
}
#inquiry-form #submit:hover{
    cursor: pointer;
    background-color: rgb(13, 137, 85);
    transition: ease-in-out 0.125s;
    color: white;
}