/* Base Page Layout */

*,
*::before,
*::after {
    box-sizing: border-box;
}

.clearable {
	clear: both;
}
body { 
    margin: 0;
    width: 100%; 
}
#main-container {
	/* font-family: Arial, Helvetica, sans-serif; */
	font-family: Roboto, sans-serif;
	width: 100%;
	background-color: white;
}
#header {
	width: 100%;
	background-color: #005EA2;
}
#header-top {
	width: 100%;
	height: 78px;
	background-color: black;
}
#header-logo {
	padding: 16px;
	background-color: black;
	float: left;
}
#header-search {
	width: 250px;
	height: 32px;
	padding: 16px;
	margin-top: 12px;
	background-color: black;
	float: right;
}
#header-login {
	width: inline-block;
	position: relative;
	height: 32px;
	padding: 16px;
	margin-top: 12px;
	color: #CCC;
	background-color: black;
	font-weight: bold;
	float: right;
	cursor: pointer;
}
#header-login span {
    color: #CCC;
    text-decoration: none;
}
#header-login span:hover {
    color: white;
}
#header-login a {
	color: #CCC;
	text-decoration: none;
}
#header-login a:hover {
	color: white;
}
#user-email-dropdown-menu {
    display: none; 
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #111;
    min-width: 120px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    z-index: 1000;
}
#user-email-dropdown-menu a {
    display: block;
    padding: 10px;
    color: #CCC;
    text-decoration: none;
}
#user-email-dropdown-menu a:hover {
    background-color: #333;
    color: white;
}
#site-title {
	width: 100%;
	padding-left: 16px;
	padding-bottom: 1px;
	color: white;
	text-align: left;
}
#suspended-banner {
	width: 100%;
	padding-left: 16px;
	padding-bottom: 1px;
	background-color: red;
	color: white;
	text-align: center;
	font-weight: bold;
}
#footer-sticky-bar {
	position: fixed;
	left: 0;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	overflow: hidden;
	background-color: #2E2E2E;
	color: white;
	text-align: center;
	padding: 5px 0px;
	z-index: 2;
}
#footer-sticky-bar.footer-static {
    position: relative;
    left: auto;
    bottom: auto;
}
#footer-logo {
	padding-left: 25px;
	background-color: #2E2E2E;
}
#footer-title {
	flex-grow: 1;
	padding-left: 70px;
	text-align: center;
	font-weight: bold;
	background-color: #2E2E2E;
}
#footer-email {
	padding-right: 25px;
	font-weight: bold;
	background-color: #2E2E2E;
}

.bold {
	font-weight: bold;
}

.tab {
	padding-left: 2em;
}

/* -------- Content -------- */

#page-wrapper {
	overflow: hidden;
	display: flex;
	/* page wrapper should take up all available screen space - header height - footer height */
	min-height: calc(100dvh - 415px);
	background-color: white;
}
#side-nav {
	margin: 32px 16px 32px 16px;
	font-size: 13px;
	width: fit-content;
	height: fit-content;
	text-align: left;
	color: #005EA2;
	background-color: #EFF6FB;
	float: left;
}
#side-nav a {
	color: #005EA2;
	text-decoration: none;	
}
.side-nav-element {
	width: 204px;	
	padding: 8px;
}
.side-nav-element:hover {
	font-weight: bold;
	color: #27447E;
	background-color: #D9E7F5;
}
.side-nav-element-selected {
	padding: 8px;
	font-weight: bold;
	color: white;
	background-color: #005EA2;
}
.journal-nav-element {
	width: 188px;
	padding-left: 24px;
	font-style: italic;
}
#content {
	flex-grow: 1;
	margin: 18px 16px 32px 0px;
	background-color: white;
	float: left;
}
#about-content {
	max-width: 1000px;
}
