/* Page Organization Variables */
:root {
    --center-buffer-height: 0%;
    --header-image-height: 205px;

    --link-bar-font-size: 30px;
    --link-bar-margin-size: 5px;

    --preview-area-top-padding: 40px;
    --preview-area-side-padding: 25px;
    --previmg-border-size: 4px;
    --previmg-bottom-margin: 20px;
    --previmg-width: 80%;
    --previmg-height: 250px;

    --full-area-top-padding: 40px;
    --full-area-side-padding: 45px;
    --fullimg-height: 450px;
    --fullimg-border-size: 4px;

    --arrow-height: 75px;

    --caption-font-size: 18px;
}

/* 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;
}

.areaSplit {
    display: flex;
    flex-direction: row;
    justify-content: center;

    width: 50%;
    height: calc(var(--previmg-height) + var(--previmg-border-size)*2);

    margin-bottom: var(--previmg-bottom-margin);

    overflow-x: hidden;
}
.imgPreview {
    display: flex;
    justify-content: center;
    align-items: center;

    width: var(--previmg-width);
    height: var(--previmg-height);

    box-sizing: content-box;
    border: var(--previmg-border-size) solid #0C0C0C;
}
.imgLinkCover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.imgPreview>img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.setHeightCenterContainer {
    min-height: 100%;
}

.fullPageCenterBody {
    height: calc(100% - var(--center-buffer-height) - var(--header-image-height));
}

.imagearrow {
    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;
    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 {
    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;
}

#previewArea {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: start;

    overflow-x: hidden;
    
    padding-top: var(--preview-area-top-padding);
    padding-left: var(--preview-area-side-padding);
    padding-right: var(--preview-area-side-padding);
}

#fullImageArea {
    display: none;
    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(--full-area-top-padding);
    padding-left: var(--full-area-side-padding);
    padding-right: var(--full-area-side-padding);
}
#fullImage {
    display: flex;
    justify-content: center;
    align-items: center;

    max-width: 100%;
    min-height: var(--fullimg-height);
    max-height: var(--fullimg-height);
}
#displayedImage {
    max-width: 100%;
    max-height: 100%;

    border: var(--fullimg-border-size) 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);
}

#imageCaption {
    align-self: flex-start;
    font-size: var(--caption-font-size);
    margin-bottom: var(--caption-font-size)
}

/* 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%;
}

/* Meida 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;
    }
}