/* Page Organization Variables */
:root {
    --center-buffer-height: 0%;
    --header-image-height: 205px;

    --link-bar-font-size: 30px;
    --link-bar-margin-size: 5px;

    --blog-top-padding: 40px;
    --blog-side-padding: 45px;
    
    --arrow-height: 75px;
}

/* Font Setting */
@font-face {
    font-family: 'EB Garamond';
    src: url('../Fonts/EBGaramond/static/EBGaramond-Regular.ttf');
}

@font-face {
    font-family: 'EB Garamond';
    src: url('../Fonts/EBGaramond/static/EBGaramond-Bold.ttf');
    font-weight: bold;
}

@font-face {
    font-family: 'EB Garamond';
    src: url('../Fonts/EBGaramond/static/EBGaramond-Italic.ttf');
    font-style: italic;
}

@font-face {
    font-family: 'EB Garamond';
    src: url('../Fonts/EBGaramond/static/EBGaramond-BoldItalic.ttf');
    font-style: italic;
    font-weight: bold;
}

/* Class Definitions */
.offwhitebackground {
    background-color: #D4CCC4;
}

.offwhitecolor {
    color: #D4CCC4;
}

.offblackcolor {
    color: #0C0C0C;
}

.blogarrow {
    text-align: center;
    border: none;

    width: 25%;
    height: 100%;
}

/* Element Definitions */
html {
    margin: 0;
    width: 100%;
    height: 100%;
}

body {
    font-family: 'EB Garamond', sans-serif;
    background-color: #4E126B;
    color: white;
    margin: 0;
    width: 100%;
    height: 100%;
}

* {
    box-sizing: border-box;
}

/* Div containing all elements in the page */
#pageBox {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    height: 100%
}

/* Leftside Image Section */
#leftSide {
    display: flex;
    justify-content: flex-end;
    margin: 0;
    height: 100%;
    overflow: hidden;
}
#leftSide>img {
    display: block;
    position: fixed;
    object-fit: cover;
    height: 100%;
}

/* Center Area */
#centerContainer {
    display: flex;
    flex-direction: column;
    width: 550px;
    max-width: 550px;
    height: 100%;
    max-height: 100%;
    min-height: 100%;
    margin: 0 0;
}
#centerContainer a {
    font-weight: bold;
}

/* Header Area */
#centerBuffer {
    width: 100%;
    height: var(--center-buffer-height);
    min-height: var(--center-buffer-height);
}

#headerArea {
    width: 100%;
    height: var(--header-image-height);
    min-height: var(--header-image-height);
}
#header {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: calc(var(--header-image-height) / 15) solid #0C0C0C;
}
#header>img {
    display: block;
    object-fit: fill;
    width: 100%;
    height: 100%;
}

/* Body Area */
#centerBody {
    height: calc(100% - var(--center-buffer-height) - var(--header-image-height));
    display: flex;
    flex-direction: column;
}

#linkBar {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    width: 100%;
    max-height: var(--link-bar-font-size);
    min-height: var(--link-bar-font-size);
    margin-top: var(--link-bar-margin-size);
}
#linkBar div {
    display: flex;
    justify-content: center;
}
#linkBar a {
    color: #0C0C0C;
    font-size: calc(var(--link-bar-font-size) - 5px);
    text-decoration: none;
}

#blogArea {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;

    max-height: calc(100% - var(--link-bar-margin-size) - var(--link-bar-font-size));
    min-height: calc(100% - var(--link-bar-margin-size) - var(--link-bar-font-size));
    overflow-y: auto;
    overflow-x: hidden;
    
    padding-top: var(--blog-top-padding);
    padding-left: var(--blog-side-padding);
    padding-right: var(--blog-side-padding);
}
#blogText {
    display: flex;
    flex-direction: column;

    min-height: 50px;
    width: 100%;
    height: 75%;
    max-height: 75%;

    overflow-y: auto;

    box-sizing: content-box;
    border: 4px solid #0C0C0C;
}
#arrowBar {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    width: 90%;
    min-height: var(--arrow-height);
    max-height: var(--arrow-height);
}

/* Rightside Image Section */
#rightSide {
    display: flex;
    justify-content: flex-start;
    margin: 0;
    height: 100%;
    overflow: hidden;
}
#rightSide>img {
    display: block;
    position: fixed;
    object-fit: cover;
    height: 100%;
}

/* Media Query */
@media only screen and (max-width: 600px) {
    #flex {
        flex-wrap: wrap;
    }

    aside {
        width: 100%;
    }

    main {
        order: 1;
    }

    #leftSidebar {
        order: 2;
    }

    #rightSidebar {
        order: 3;
    }

    #navbar ul {
        flex-wrap: wrap;
    }
}