/*Variables*/
:root {
    --page-background: #FFFFFF;
    --background: #FFFFFF;
    --nav-background: #CCCCCC;
    --nav-current: black;
	--nav-other: #666568;
    --text-color: #000000;
    --line-color: #666568;
    --accent-color: #00a8ff;
}


/*Styling*/
*{
	box-sizing: border-box;
    font-family: "Segoe UI",Helvetica, Arial, Verdana, sans-serif;
    line-height: 1.5em;
    color: var(--text-color);
}
/*Generic formatting styles*/
img{
	width: 100%;
	height: auto;
}
.indented{
    margin-left: 5em;
	margin-right: 5em;
}
.tabbed{
    text-indent: 5em;
}
.unmarkedlist{
   list-style-type: none;
}
.sectionHeader{
	width: 100%;
	font-weight: 600;
	text-align: center;
    margin-bottom:10px;
}
.sectionBar{
    width:30%;
    border-top: 2px solid var(--line-color);
    margin:0;
}
.paragraphHeader {
    margin-top: 40px;
}

/*Main section styles*/
html {
    height: 100%;
	width:auto;
	margin: 0px;
    background-color: var(--page-background);
}
body {
	min-height: 100%;
	width: auto;
    margin: 0px;
    background-color: var(--background);
}
section {
    padding: 25px;
    margin: auto;
    max-width: 900px;
    width: 100%;
    height: 100%;
}
/*Two Column styling*/
.sidebyside {
    padding: 0px;
    max-width: none;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
}
.sideImage, .sideImageGallery{
    padding: 25px;
    /*margin: auto;*/
    flex: 1;
    /*order: 2;*/
}
.sideImage img{
	margin: auto;
	margin-top: 10px;
	margin-bottom: 10px;
}
.sideContent{
    padding: 25px;
    flex: 2;
    /*order: 1;*/
}

/*Image styling*/
.framed {
    margin: 10px;
    border-radius: 4px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);/*2px 2px 6px 2px gray;*/
}

/*header and navigation bar*/
header {
    padding-left: 40px;
    padding-right: 40px;
	padding-bottom: 10px;
	padding-top: 10px;
    position: -webkit-sticky;
    position: sticky;
    z-index: 10;
    top: 0;
    height: auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    line-height: 0px;
    background-color: var(--page-background);
}
.TitleLink{
    text-decoration: none;
    width: auto;
}
.TitleImage{ 
    display: inline-block;
    /*max-width: 400px;*/
    width: 500px;
    height: auto;
    margin: 0px;
    padding: 0px;
}
nav ul {
    display: inline-block;
    max-width: 400px;
    width: 100%;
    height: 3em;
    overflow: visible;
    display: flex;
    justify-content: space-evenly;
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}
nav ul li {
    height: auto;
    display: inline-block;
	margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 0px;
    border-bottom: white solid 2px;
    transition: border-color .25s ease, margin-bottom .25s ease;
}
nav ul li a {
    font-weight: 600;
    font-size: larger;
    color: var(--nav-other);
    text-decoration: none;
    margin: 0px;
	padding-top: 2px;
    padding-left: 10px;
    padding-right: 10px;
    display: inline-block;
}
nav ul li hr {
    margin: 0;
    margin-top: 15px;
    width: auto;
    border: none;
    border-top: white solid 2px;
    transition: border-top .25s ease, margin-top .25s ease;
}
/*On hover line animation w/ anti-flicker*/
nav ul li:hover hr {
    margin-top: 2px;
    border-top: var(--line-color) solid 2px;
    transition: border-top .25s ease, margin-top .25s ease;
}
nav ul li:hover a {
    color: var(--nav-current);
    font-weight: 600;
}
.current a {
    color: var(--nav-current);
    font-weight: 600;
}
.current hr {
    border-top: var(--line-color) solid 2px;
    margin-top: 2px;
}

/*End of page*/
footer {
    margin: 0px 40px 20px 40px;
    width: 60%;
    border-bottom: 2px solid var(--line-color);
}
footer p::after {
    content: "2023";
}
footer p {
    white-space: nowrap;
}
/*Dynamic sizing styles*/
/*@media only screen and (min-width: 801px) {
    .TitleImage {
        flex: 50%;
    }

    nav ul {
        flex: 50%;
    }
}*/
@media only screen and (max-width: 980px) {
	.indented{
		margin-left: 5%;
		margin-right: 5%;
	}
	footer{
		width: 100%;
		margin: 10px 0px;
	}
	footer p{
		text-align: center;
		width: 100%;
	}
    /*row to column stylings*/
    .sidebyside {
        flex-direction: column;
    }
    header {
        flex-wrap: wrap;
    }
    .TitleLink{
        width: 100%;
    }
    .TitleImage {
        max-width: none;
        width: 100%;
    }
    nav {
        width: 100%;
    }
    nav ul {
        max-width: none;
        width: 100%;
    }
	nav ul li{
		margin: 0px;
	}
	nav ul li a{
		padding: 2px 8px;
	}

    /*sidebyside to horizontal gallery stylings*/
    .sideContent{
        flex: none;
    }
	.sideImage{
	
	}
    .sideImageGallery{
        margin: 0;
        padding: 0;
    }
    #js-image-gallery{
        flex: none;
        padding-top: 10px;
        padding-bottom: 30px;
        height: 300px;
        display: flex;
		align-items: center;
		justify-content: flex-start;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-y: hidden;
		overflow-x: auto;
    }
    #js-image-gallery img{
		height: 100%;
		width: auto;
        margin-left: 20px;
        margin-right: 20px;
    }
}