/*
 * Start Bootstrap - Modern Business (http://startbootstrap.com/)
 * Copyright 2013-2016 Start Bootstrap
 * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
 *
 * Modified by Mzuri S Handlin
 *
 */

/*Possible colors from coolors.co:  (need to get my shit in SASS)
* green: #48A9A6
* off-white: #E4DFDA
* tan: #D4B483
* red: #C1666B
* blue: #445E93
*/

/* Global Styles */
html {
	font-size:18px; 
}

html,
body {
    height: 100%;
}

body {
    /* padding-top: 50px; Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
	background-color: #800000;
}
@media(max-width:767px) {
	body {
		padding-top:50px;
	}
}
@media(min-width:768px) {
	body {
		padding-top:100px;
	}
}

@media(min-width:992px) {
	body {
		padding-top:50px;
	}
}

h1 {
	color:#800000;
	text-align:center;
	margin-bottom: 2rem;
}

h3 {
	margin-top: 25px;
}

img {
	margin-bottom:25px;
}

.img-hover:hover {
    opacity: 0.8;
}

p {
	font-size:1.1rem;
	margin:0 0 20px 0;
}

a {
	word-wrap: break-word;
}

ul {
	list-style-image:url('arrow_bullet.gif');
	
}

li {
	font-size:1rem;
	margin-bottom:20px;
}

li p {
	margin-top:10px;
	font-size:0.95rem;
}

.main-content {
	background-color: white;
	padding:35px 50px;
	margin-bottom:25px;
}
.main-content_test {
	background-color: #EBEBEB;
	padding:35px 50px;
	margin-bottom:25px;
}
@media(max-width:767px) {
	.main-content {
		padding-left:20px;
		padding-right:20px;
	}
}



/* Section: currently just for research sections */
section {
	margin: 45px 20px;
}

section h3  /*banner section heading */ { 
	margin: 25px -20px;
    background-color: #002255;
    color:white;
    text-align: center;
	padding: 5px;
}

section h4 {
	font-weight:bold;
	margin:30px 0;
}

section img {
	float:left;
	width:300px;
	height:auto;
	/* max-height:300px; */
	/* width:auto; */
	margin:0 15px 15px 0;
}

section:after {
	content: "";
	clear:both;	
	display:table;
}

section ul {
	margin-left: 1rem;
}

section ul li {
	position: relative;
	left: 1rem;
	padding-right: 1rem;
}

/* Box (content on a grey box currently) */
.box {
	background-color:#dddddd;
	padding:10px;
	margin-top:7px;
	font-size:1rem;
	overflow:auto;	
}
.box p {
	margin:0;
}
.box img {
	float:left;
	margin:0 15px 15px 0;
}
.box img:after {
  content: "";
  display: table;
  clear: both;
}

.box.sponsors {
	height:100px;
	overflow:hidden;
}
.box.sponsors p {
	font-weight:bold;
	text-align:right;
	/* vertically center text */
	position:relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.box.sponsors img {
	height:100%;
	margin:0 20px 0 0;
	position:relative;
	z-index:1000000;
}

.vertical-center {
	position:relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* Table */
table.display-table {
	width:95%;
	margin-left:2.5%;
	margin-right:2.5%;
	margin-top: 55px;
	border-collapse:collapse; 
}
table.display-table td{ 
	padding:7px; border: #d0d3d4  1px solid;
}
/* provide some minimal visual accomodation for IE8 and below */
table.display-table tr{
	background:  #ecf0f1 ;
}
/*  Define the background color for all the ODD background rows  */
table.display-table tr:nth-child(odd){ 
	background: #fff;
}
/*  Define the background color for all the EVEN background rows  */
table.display-table tr:nth-child(even){
	background:  #ecf0f1 ;
}
table.display-table, table.display-table th, table.display-table td {
    border: 1px solid #d0d3d4;
    border-collapse: collapse;
    text-align: center;
}
.display-table th, .display-table td {
    padding: 5px;
	font-weight:normal;
	font-size:0.9rem;
}
p.table-caption {
	margin-top:10px;
	width:95%;
	margin-left:2.5%;
	margin-right:2.5%;
	font-size:0.9rem;
}
.caption-title {
	font-weight:bold;
}

/* Header */
header {
	background-color:#7D0D00;
}

header img {
	margin-bottom:0;
}

header .container {
	/* padding: 0 75px; */
	padding: 0;
}

/* navbar */
.navbar {
    background-color: #404040;
    border-bottom:1px #404040;
    border-top:1px #404040;
	margin-bottom:20px;
	margin-top:20px;
}

.navbar .container{
    padding-left:0px;
}

.navbar li {
	font-size:0.9rem;
	margin-bottom:0;
}

.navbar .navbar-nav > li > a {
    color: #FFF;
	padding-left:8px;
	padding-right:8px;
}

.navbar .navbar-nav > li > a:hover 
/* .navbar .navbar-nav > li > a:focus */
{
    background-color: black; 
    font-size:1rem; 
}

.navbar .navbar-nav > .active > a,
.navbar .navbar-nav > .active > a:hover,
.navbar .navbar-nav > .active > a:focus {
    color: #FFF;
    background-color: black;
}

.navbar .navbar-text {
    color: #FFF;
}

.navbar .navbar-toggle {
	background-color:black;
    border-color: black; 
}

.navbar .navbar-toggle:hover,
.navbar .navbar-toggle:focus {
    background-color: black;
}

.navbar .navbar-toggle .icon-bar {
    background-color: #FFF;
}

@media(min-width:768px) {
	.navbar .navbar-nav > li > a {
		padding-left:15px;
		padding-right:15px;
	}
}

@media(min-width:992px) {
	.navbar .navbar-nav > li > a {
		padding-left:7px;
		padding-right:7px;
	}
}

@media(min-width:1200px) {
	.navbar .navbar-nav > li > a {
		padding-left:15px;
		padding-right:15px;
	}
}


/*Jumbotron */
.jumbotron {
	background: white;
	/* color: white; */
	text-align: center;
	padding:20px 0 50px 0;
	margin-bottom:0;
}
.jumbotron h1 {
	font-size:2.2rem;
	margin:0;
	color: #767676;
}
.group-name {
	color:#800000;
}

/*Jumbotron_test */
.jumbotron_test {
	background: #EBEBEB;
	text-align: center;
	padding:20px 0 50px 0;
	margin-bottom:0;
}
.jumbotron_test h1 {
	font-size:2.2rem;
	margin:0;
	color: #505050;
}

.jumbotron_test p2 {
	font-size:1.4rem;
	margin:0 0 20px 0;
	color: #505050;
}

 /* for adding vertical spacing (probably better to do this in other styles)*/
.bottom-buffer-sm { margin-bottom:20px; }
.bottom-buffer-md { margin-bottom:50px; }
.bottom-buffer-lg { margin-bottom:125px; }
.top-buffer-sm { margin-top:20px; }
.top-buffer-md { margin-top:50px; }
.top-buffer-lg { margin-top:125px; }

/* remove padding from element */
.no-padding {
	padding:0;
}

/* Contact Us page styles */
.address-header {
	margin: 45px 0px;
}
.address-large {
	font-size: 1.25em;
	margin-bottom: 75px;
}
@media (max-width: 767px) {
	.address-header {
		margin: 30px 0px;
	}
	.address-large {
		margin-bottom:45px;
	}
}


/* Footer */
.footer { 
	background-color:#404040;  
	color:#FFF; 
}
.footer-blurb p { 
	text-align:center; 
	font-weight: 600;
	margin:40px;
}
.footer-logo {
	/* height:135px; */
}
.footer-logo img {
	margin:30px 0;
	width:auto;
	margin-left:auto;
	margin-right:auto;
	height:50px;
}
@media(max-width:767px) {
	.footer-logo img{
		height:30px;
	}
}


.footer-test {
	background-color: #404040;
	color: #FFF;
	/*padding: 2vh 13vw;*/ 
	font-family: Arial, sans-serif;
}

.footer-test-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	/*padding: 2vw;*/
	width: 100%;
	max-width: 1200px; /* Fixed width for the footer */
    margin: 0 auto; /* Center the footer horizontally */
    padding: 20px; /* Padding inside the footer */
}

.footer-test-column {
	flex: 1;
	margin: 0;
}

.footer-test-column h3 {
	font-size: 16px;
	margin-bottom: 0px;
	/*line-height: 2.4;*/
}

.footer-test-column p, .footer-test-column a {
	font-size: 16px;
	color: #FFF;
	text-decoration: none;
	/*line-height: 2.4;*/
	margin-bottom: 0px;
}

.footer-test-column a:hover {
	text-decoration: underline;
}

/* Move contact information further left */
.footer-test-column.contact-info {
	text-align: left; /* Ensure text is left aligned */
	padding-left: 6vw; /* Move contact info left by reducing padding */
	padding-right: 2vw; /* Move contact info left by reducing padding */
	margin-left: 0; /* Move contact info left by reducing margin */
	line-height: 1.6;
}

/* Move contact information further left */
.footer-test-column.links {
	text-align: left; /* Ensure text is left aligned */
	padding-left: 4vw; /* Move contact info left by reducing padding */
	margin-left: 0; /* Move contact info left by reducing margin */
	line-height: 2.0;
	text-decoration: underline;
}

.footer-test-logo {
	/*text-align: left; /* Align text and images to the left */
	display: flex;
    flex-direction: column;
    align-items: left;
	padding-left: 2vw;
}

.footer-test-logo img {
	/*margin: 30px 0;
	width: auto;
	height: auto;*/
	display: block;
	margin-left: 0;
	margin-top: 10px;
	margin-bottom: 20px;
	width: 20vw; /* 20% of the viewport width */
	height: auto;
    max-width: 300px; /* Ensure it doesn't get too big on large screens */
    min-width: 80px; /* Ensure it doesn't get too small on small screens */
}

/* Responsive positioning using media queries */
@media (min-width: 768px) {
	.footer-test-container {
        width: 800px; /* Fixed width for large screens */
    }

	.footer-test-logo {
		align-items: center; /* Keep logos left-aligned for larger screens */
		/*padding-left: 60px; /* More padding on larger screens */
	}

	/* Adjust logo size for larger screens */
	.footer-test-logo img {
		width: 20vw; /* Adjust to 15% of the viewport width on larger screens */
	}
}

@media (min-width: 1024px) {
	.footer-test-container {
        width: 1200px; /* Fixed width for large screens */
    }

	.footer-test-logo {
		align-items: center; /* Left-aligned, but with more spacing */
		/*padding-left: 120px; /* Increase padding for even larger screens */
	}

	.footer-test-logo img {
		width: 20vw; /* Adjust to 10% of the viewport width on large desktops */
		max-width: 300px; /* Larger max size on very large screens */
	}
}

/* Make footer responsive */
@media (max-width: 768px) {
	.footer-test-container {
        width: 90%; /* Fixed width for large screens */
    }

	.footer-test-container {
		flex-direction: column;
		text-align: center;
	}

	.footer-test-logo {
		align-items: center;
		padding-left: 0;
	}

	/* Adjust logo size for smaller screens */
	.footer-test-logo img {
		width: 60vw; /* Make the logos larger for smaller screens */
		min-width: 100px; /* Set a smaller minimum size */
	}
}


/* sidebox */
/* currently used for displaying image of person and contact info on the side on "People" pages */
.sidebox {
    background-color: #800000;
    /* position: relative;   */
    width: 240px;
	padding:20px;
    float: right;
	margin: 0 20px 100px 100px;
}
.sidebox img {
	width:200px;
	height:auto;
	margin-bottom:20px;
}
.sidebox h5 {
	color:white;
}
@media (min-width:1200px) {
	.sidebox {
		width: 290px;
	}
	.sidebox img {
		width:250px;
		height:auto;
	}
}


/* profiles 
(picture of person pluse name and small description */
.person-list-entry h3, .person-list-entry h4, .person-list-entry p{
	margin: 0 20px 10px 0;
}
.person-list-entry p {
	font-size:1rem;
}
.person-list-entry img{
	height: 100px;
	width:auto;
	float: left;
	margin: 0 20px 0 0;
	clear:below;
}
@media(min-width:767px) {
    .person-list-entry img {
        width:auto;
		height:125px;
    }
}

/*  news post entries */
.news-post img{
	/* height: 100px; */
	/* width:auto; */
	max-height: 200px;
	width:auto;
}
.news-post p {
	margin:10px 0 0 0;
}
.news-post h3 {
	margin-top: 0;
}
@media(max-width:767px) {
    .news-post img {
        margin-bottom: 15px;
    }
}
@media(min-width:768px) {
    .news-post img {
        margin-bottom: 0;
    }
}


/* publication entries */
.publication h3 {
	margin-top:0;
	font-size:1.6em;
}
.publication p {
	/* font-size:1.15em; */
	margin-bottom: 5px;
}
/* FIX: why is the whole width of the column clickable?*/
.publication img {
	max-height: 150px;
	width:auto;
	margin-bottom:0;	
}
@media(max-width:767px) {
    .publication img {
		max-height:200px;
		height:auto;
		margin-left:auto;
		margin-right:auto;
        margin-bottom: 25px;
    }
}
.abstract p {
	margin-top:7px;
	font-size:1em;
}

/* special lists */
.dense-list p {
	margin-bottom:5px;
	font-weight:500;
}
.dense-list li {
	font-size:0.95rem;
	margin-bottom: 5px;
} 

/* Highlight-list 
highlight each item as a cell when moused over */
ul.highlight-list {
	list-style-type:none;
	list-style-image:none;
	padding:0;
	margin: 0;
}

ul.highlight-list li {
	/* border-bottom: 1px solid #D6D6CE; */
	border-bottom: 1px solid white;
	padding:10px;
	margin-bottom:0;
	background-color:#dbbfbd;
	background-color:#eddfde;
	background-color:#abc6d3;
	background-color:#cddde5;
	background-color:#dee9ef; /* blue */

}

@media(min-width:992px) {
    ul.highlight-list li {
		height:125px;
    }
}

@media(min-width:1200px) {
    ul.highlight-list li {
		height:98px; 
    }
}

ul.highlight-list li:first-of-type {
	border-top: 1px solid white;
}

ul.highlight-list li:hover {
	background-color: #f5f5f5;
}
ul.highlight-list li.separate-item {
	background-color: #e9e2e5; /* purple */
}
ul.highlight-list li.separate-item:hover {
	background-color: #f5f5f5; /* purple */
}

ul.highlight-list a:hover,
ul.highlight-list a:focus {
	text-decoration: none;
}
ul.highlight-list a {
	color:black;
}


/* group of panels */
.panel {
	margin-top:20px;
	margin-bottom:30px;
}
.panel .panel-heading {
	background-color: #D6D6CE;
	border-bottom: 1px solid white;
}
.no-margin-top {
	margin:0 0 30px 0;
	/* border:1px solid black; */
}
.panel-dark {
	border: 1px solid #BEBEBE; 
	background-color:#F9F9F9;
}
.panel p {
	margin-bottom:0;
}
.panel-footer {
	padding-top: 0;
	margin-top:10px;
	border-top:0;
	border:none;
	background-color:white;
}

.panel-front p{
	font-size: 1.25rem;
}
@media(max-width:1200px) {
	.panel-front p{
		font-size: 1.1rem;
	}
}

/* pictures on software page */
.img-wrapper.software {
	max-width:560px;
	height:auto;
}


/* large pictures that need to take up only part of width on large devices, full width on small */
img.img-lg {
	/* margin: 50px auto; */
	margin: 20px auto;
}
@media(min-width:992px) {
	img.img-lg {
		width:60%;
	}
}
img.img-right {
	float:right;
	margin: 40px 0 45px 45px;
}
img.img-60per {
	width:60%;
}
img.img-80per {
	width:80%;
}
.outline {
	padding: 15px 15px 0 15px;
	margin-bottom:20px;
	border: #d8d8d8 1px solid;
	border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
