body {
    font-family: georgia, serif;
    font-size:12pt;
    text-align:center;
    color: #555;
    background-color: #f9f9f9;
}


/* regular layout ---------------------------- */
.container {
    display: grid;
    grid-template-columns: 1fr 120px;
    grid-template-rows: 1fr;
    height: 100vh;
    margin: 0;
    /* border: 1px solid red; */
}

/* Animations to be played when fading in / fading out content items. */
@keyframes fadeIn {from {opacity: 0.1} to {opacity: 1.0}}
@keyframes fadeOut {from {opacity: 1.0} to {opacity: 0.0}}

/* Main content: back & forward buttons, and content items. */

main {
    display:flex;
    align-items: center;
    grid-column: 1;
     /* border: 1px solid green; */
    position: relative;
    padding: 0 5%;
}

.content-item {
    /*border: 1px dotted black; */
    position: absolute;
    top:0px; left:1%; width: 98%;
    padding-top:2%;
}

/* "Image" content items */

.image-content {
    /* border: 1px solid black; */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.image-content img {
    width: 90%;
    height: 88%;
    object-fit: contain;
    cursor: zoom-in;
}

.image-content .caption {
    font-size: 16pt;
    /* line-height: 0; */
}

/* "About" content items */

.text-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding:15vh 10% 0 8%;
    overflow:auto;
    letter-spacing:0.02em;
    line-height:1.8em;
    /* border: 1px solid black; */
}

.text-content h1 {
    letter-spacing: 0.1em;
    word-spacing: 0.2em;
    padding-bottom:0.8em;
}

.text-content .text-copy p {
    padding-bottom: 0.2em;
}

.text-content .text-copy a {
    color:#508890;
}

.text-content img {
    position:relative;
    float:right;
    bottom:5vh;
    padding-left:50px;
    height:60vh;
    min-height:400px;
}

/* Sidebar */
aside {
    grid-column: 2;
    max-height: 100%;
    overflow: hidden;
    margin: 0;
    /* border: 1px solid blue; */
}

#scrollContainer {
    height: 100vh;
    width: 100%;
    overflow: auto;
}

/* "About" sidebar item */
.thumbnail {
    display: block;
    width: 100px;
    height: 100px;
    object-fit: cover;
    transition: 0.8s;
    cursor: crosshair;
    opacity: 0.5;
    margin-bottom: 2px;
}

/* header.thumbnail {
} */

header.thumbnail p {
    color: #555;
    opacity: 0.5;
    padding: 2.5em 0 0 0;
    margin:0;
    transition: 0.8s;
    font-style: italic;
    letter-spacing: 0.04em;
}

.thumbnail:hover, .thumbnail.active {
    opacity: 1;
}

header.thumbnail p:hover {
    opacity:1;
}

#X {
    position:absolute;
    z-index:1;
    left:40px;
    top:45px;
    font-size:32pt;
    line-height:0;
}

#X a {
    color:#aaa;
    text-decoration:none;
    cursor:crosshair;
}


/*arrows*/

.nav-button {
    z-index: 1;
    height: 35px;
    width: 35px;
    border-radius: 50%;
    background: #777;
    opacity: 0.6;
    font-size: 18pt;
    color:#f7f7f7;
    position: absolute;
    top: 50%;
    transition: 0.5s;
    cursor:crosshair;
}

.nav-button:hover {
    opacity: 1;
}

#nav_back {
    left: 30px;
}

#nav_back p {
    margin: 0;
    padding: 4px 5px 0 0;
}

#nav_forward {
    right: 30px;
}

#nav_forward p {
    margin:0;
    padding:4px 0 0 5px;
}

/* On mobile screens, change to a single-column layout, with the "sidebar" at the bottom of the page. */
@media screen and (max-aspect-ratio: 5/4) {

    .container {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 120px;
    }

    main {
        grid-column: 1;
        grid-row: 1;
        overflow-y: auto;
    }

    .text-content {
        width:auto;
        margin:0;
    }

    .text-content img {
        width:auto;
        height:60vh;
        float:none;
        bottom:0; 
        padding:0;
        margin:auto;
    }

    aside {
        grid-column: 1;
        grid-row: 2;
        bottom:0;
        margin: 0;
        padding: 0;
    }

    #scrollContainer {
        width: 98%;
        height: 100%;
        overflow: auto;
        display: flex;
        flex-direction: row;
    }

    .thumbnail {
        min-width:98px;
        margin: auto;
    }

    header.thumbnail p {
        padding: 2.5em 0 0 3px;
    }

    .image-content img {
        height: 75vh;
    }

#nav_back {
    left: 10px;
}

#nav_forward {
    right: 10px;
}

}



@media screen and (max-aspect-ratio: 2/3) {

    .container {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 100px;
    }

/* aside {
    position:fixed;
    bottom:5%;
} */

    .thumbnail {
        min-width: 83px;
        height: 82px;
}

.nav-button {
opacity: 0.4;
}

.nav-button:hover {
    opacity: 0.8;
}

}