@font-face {
  font-family: 'Segoe Condensed';
  src: local('Segoe Condensed'), url('/fonts/segoe.ttf');
  font-weight: normal;
}
@font-face {
  font-family: 'Segoe Condensed';
  src: local('Segoe Condensed Bold'), url('/fonts/segoeb.ttf');
  font-weight: bold;
}
/* */
@font-face {
  font-family: 'Palatino Linotype';
  src: local('xPalatino Linotype'), url('/fonts/pala.ttf');
  font-weight: normal;
}
@font-face {
  font-family: 'Palatino Linotype';
  src: local('xPalatino Linotype Bold'), url('/fonts/palab.ttf');
  font-weight: bold;
}
@font-face {
  font-family: 'Palatino Linotype';
  src: local('xPalatino Linotype Itallic'), url('/fonts/palai.ttf');
  font-style: italic;
}
@font-face {
  font-family: 'Palatino Linotype';
  src: local('xPalatino Linotype Bold Itallic'), url('/fonts/palabi.ttf');
  font-weight: bold;
  font-style: italic;
}
/* */

@font-face {
  font-family: 'Linux Libertine';
  src: local('xLinux Libertine'), url('/fonts/LinLibertine_R.ttf');
}
@font-face {
  font-family: 'Linux Libertine';
  src: local('xLinux Libertine'), url('/fonts/LinLibertine_RI.ttf');
  font-style: italic;
}
@font-face {
  font-family: 'Linux Libertine';
  src: local('xLinux Libertine'), url('/fonts/LinLibertine_RB.ttf');
  font-weight: bold;
}


body {
	font-family: Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;
	font-size: 110%;
	font-family: "Palatino Linotype";
}

h1, h2, h3, h4, h5, #main-title, #main-menu, #section-crumbs, #dropdown-menu, 
.prjTitle, .pub-links {
	font-family: 'Segoe Condensed';
}

body {
	margin: 0px;
	background: white;
	color: #444;
	text-align: left;
	overflow-y: scroll;
}


table {
	border-collapse: collapse;
	border-spacing: 0px 0px;
	empty-cells: show;
}

h1, h2, h3, h4 {
	page-break-after: avoid;
	clear: both;
	font-weight: bold;
}

h1 {
	font-size: 250%;
	margin: 0.2em 0px 0.1em 0px;
	color: black;
}

h2 {
	font-size: 180%;
	margin-top:    0.7em;
	margin-bottom: 0.2em;
	color: black;
	border-bottom: 1px solid #333;
}

h3 {
	font-size: 160%;
	margin-top: 1em;
	margin-bottom: 0px;
}


h4 {
	font-size: 130%;
	margin-top: 1em;
	margin-bottom: 0px;
}

.firsttitle {
	margin-top: 0;
}

p {
	text-align: justify;
	margin: 0px 0px 1em 0px;
}

/*
sup {
	display: inline-block;
	margin-top: -0.5em;
}
*/

sup {
	vertical-align: top;
	font-size: 70%;
}

b, th {
	color: black;
}


a, a:visited {
	text-decoration: none;
	font-weight: bold;
	color: #832B3D;
}

a:hover img {
	border-color: #FF4444;
	outline: 1px solid #FF4444 !important;
    filter: brightness(1.1);
}

a:hover img.hlight {
	border-color: #FF4444;
	filter: alpha(opacity=75);
}

a:hover {
	text-decoration: underline;
	color: #FF4444;
}

a.hiddenlink, a:visited.hiddenlink {
	text-decoration: none;
	font-weight: normal;
	color: black;
}

a:hover.hiddenlink {
	text-decoration: underline;
}


li {
	text-align: justify;
}

code {
	font-family: Consolas,monaco,monospace;
}


math {
	font-family: Linux Libertine;
	font-size: 100%;
}

math mi {
	font-style: italic;
	margin-right: .2em;
}

math ms {
	vertical-align: top;
	font-size: 85%;
}


#main-page {
	width: 100%;
	position: relative;
}

#main-header {
	position: fixed;
	left: -520px;
	top: 0px;
	width: 50%;
	height: 100%;
	text-align: right;
	z-index: 10;
	margin: 0px;
	padding: 0px;
	pointer-events: none;
	border-size: 0px;
}

#main-header-content {
	height: 100%;
	pointer-events: all;
	overflow-y: auto;
	padding-right: 0.5em;
}

#main-title {
	font-size: 250%;
	margin-top: 0.2em;
	display: block;
	color: black;
	text-decoration: none;
}
#main-title:hover {
	color: #ff1414 !important;
}

#section-crumbs {
	display: none;
}

#main-menu {
	display: block;
	font-size: 160%;
}

#main-menu a {
	display: block;
	text-decoration: none;
	/*color: #ff5f5f !important;*/
	color: #9e3838 !important;
	font-weight: normal;
}

#main-menu a:hover {
	color: black !important;
	text-decoration: none;
}

#main-menu a.sel {
	/*background: #375184;*/
	color: black;
	font-weight: bold;
}

#main-menu a.sel:hover {
	color: #ff1414 !important;
}

#dropdown-menu {
	display: none;
}


#main-sidecontent {
	text-align: right !important;
	z-index: 10;
}

#main-content-wrapper {
	position: relative;
	width: 1024px;
	max-width: 100%;
	margin: 0 auto 3em auto;
}

#topimage {
	width: 100%;
	height: auto;
}

.nobreak {
	page-break-inside: avoid;
}

.break {
	padding-top: 1px;
	column-break-before: always;
	-moz-column-break-before: always;
	-webkit-column-break-before:always;
}

#main-content-end {
	display: inline-block;
	width: 100%;
	height: 100%;
}

#dropdown-menu,
#dropdown-menu-button,
#dropdown-menu-items,
#dropdown-menu-background
{
	display: none;
}

#main-menu a.stylebtn {
	display: block;
	font-size: 60%;
	margin-top: 0.6em;
	font-weight: normal;
	color: gray !important;
}


#main-content img {
	max-width: 100%;
	height: auto;
}
.img {
	display: block;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.img1 {
	display: block;
	width: 100%;
}
.img2 {
	display: inline-block;
	width: 50%;
}
.img3 {
	display: inline-block;
	width: 33.333%;
}
.img4 {
	display: inline-block;
	width: 25%;
}
.img2s {
	display: inline-block;
	width: 49.75%;
	width: calc(50% - 0.5em);
}
.img, .img1, .img2, .img3, .img4, .img2s {
	height: auto;
	text-align: center;
	vertical-align: top;
}
.img2s+.img2s, .img2s+.img2s+.img2s+.img2s {
	margin-left: 0.5%;
}
.img2s+.img2s+.img2s {
	margin-left: 0;
}
.img img, .img1 img, .img2 img, .img3 img, .img4 img, .img2s img {
	max-width: 100%;
	height: auto;
}

.left:after {
	content: "left";
}	
.right:after {
	content: "right";
}	

.float-left {
	float: left;
	margin-right: 1em;
}
.float-right {
	float: right;
	margin-left: 1em;
}
.float-left, .float-right {
	max-width: calc(50% - 1em);
}



/*
p {
	padding-left: 5px;
	width: 495px;
}
p img {
	margin-left: -5px;
}
*/

a[rel] {
	border-size: 0px;
	cursor: url(/images/zoom.cur) 16 16, auto;
}


.highlight {
	margin-bottom: 1em;
	border-size: 0;
}

.highlight p {
	width: auto;
	margin-bottom: 0px;
}

.highlight h4 {
	font-size: 160%;
	z-index: 10;
	position: relative;
}
.highlight a:hover h4 {
	/*color: #ff1414;*/
	text-decoration: underline;
}

.highlight a img.img1 {
	outline: 1px solid rgba(0,0,0,0.3);
	outline-offset: -1px;
}

.highlight a:hover img {
	outline: 3px solid #000;
	outline-offset: -3px;
}


img {
	border-style: none;
}

hr {
	height: 1px;
	color: #395181;
}

.flash {
	padding-top: 10px;
}

.people {
	padding: 0px 0px 8px 0px;
	margin: -0.2em 0px 0px 0px;
	font-size: 130%;
	color: black;
}
.people a {
	font-weight: normal;
	display: inline-block;
	color: black;
	margin-right: 1em;
}


.videoframe {
	/*border: 1px solid #333;
	left: -1px;
	position: relative;*/
	background-color: #222;
	max-width: 100%;
}


.prj {
	display: inline-block;
	margin: 10px 0px 5px 0px;
}

.prjImg {
	float: left;
	margin-top: 3px;
	margin-right: 10px;
	border: 1px solid black;
}

.prjTitle {
	font-size: 115%;
	display: block;
}
.prjPeople {
	/*font-size: 90%;*/
	margin: 0px;
	display: block;
	padding: 0px;
	text-align: left;
}
.prjPeople a {
	font-weight: normal;
}
.prjShort {
	margin-top: 8px;
	display: block;
	text-align: justify;
}



.publication {
	position: relative;
	text-align: left;
	margin: 1em 0;
	clear: both;
}

.publicationThumbnail {
	width: 116px;
	height: 150px;
	float: left;
	/*border: 1px solid #888;*/
	width: 100%;
	height: auto;
	box-shadow: 0.2em 0.2em 0.7em black;
}

.publication .author {
	display: block;
}

.publication .author a {
	font-weight: normal;
}
.publication .title {
	display: block;
	font-weight: bold;
	color: black;
}

.publication .venue {
	font-style: italic;
}

.publication .pub-repimg-container, .publication .pub-thumbnail-container {
	float: left;
	/*margin: 0 0.5em 1em 0;*/
	outline: 1px solid rgba(0,0,0,0.5);
	margin-bottom: 1em;
	/*width: 25%;*/
	width: 258px;
	max-width: 48%;
}
.publication .pub-thumbnail-container {
	/*margin-right: 1em;*/
}
.publication .pub-repimg-container:hover {
    outline-color: #832B3D;
    outline-width: 0.1em;
    /*box-shadow: 0.4em 0.4em 0.4em rgba(0,0,0,0.7);*/
}

.publication .pub-info, .publication .pub-links {
	display: inline-block;
	float: right;
	width: 73%;
	width: calc(75% - 1em);
	width: calc(100% - 1em - 256px);
    min-width: calc(52% - 1em);
}
.publication .pub-links {
	margin-top: 0.5em;
	margin-bottom: 1em;
}

.publication .pub-repimg {
	width: 100%;
	height: auto;
	max-width: 100%;
	vertical-align: top;
}

.publication .pub-img {
	width: 56.25%;
	height: auto;
	padding: 0 21.875%;
	background-color: white;
}

.publication .pub-bnote {
	display: block;
	font-weight: bold;
	color: black;
}

.paperLink {
	margin-bottom: 0.5em;
}
.pub-extended .paperLink {
	display: block;
}
.pub-short .paperLink a {
	display: inline-block;
}
.pub-short .paperLink + .paperLink:before {
    content: ",";
    margin-right: 0.5em;
}

.paperLink img {
	margin: 2px 5px -3px 0px !important;
	border: 0px !important;
	width:  16px;
	height: 16px;
	width: 1.1em;
	height: 1.1em;
	margin: 0 0.3em -0.2em 0;
}

.paperLink:hover img {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}

.paperLink, .paperLink a {
	font-weight: normal;
}

.publication .notes {
	display: block;
	font-size: 90%;
	margin-top: 5px;
}

.publication .copyrightNotice {
	display: block;
	font-size: 60%;
	margin-top: 5px;
	text-align: left;
}

.publication table tr td {
	vertical-align: top;
}

.publication table tr td img {
	margin-right: 5px;
	border: 1px solid #777;
}
.publication table tr td a img {
	border: 1px solid #777;
}
.publication table tr td a:hover img {
	border: 1px solid #f44;
}

.publication .pub-award {
	display: block;
	color: rgb(255,116,93);
}
/**/
.publication .pub-award::before {
	content: "";
	background: no-repeat url('/images/icon-star.svg');
	display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .3em;
	margin-bottom: -.1em;
}
/**/



ol, ul {
	/*padding-left: 0px;*/
	page-break-before: avoid;
}

li {
	margin:				1em 0px 0px 0px;
	/*list-style-type:	none;*/
	page-break-inside: avoid;
}

.simplelist {
	padding-left: 0px;
}

.simplelist li {
	list-style-type:	none;
}

.datelist {
	padding-left: 0px;
}

.datelist li {
	list-style-type: none;
	position:        relative;
	padding-left:    7em;
}





.titlenote {
	font-weight: normal;
}



.courseLink {
	font-weight: normal;
}
.courseLink:hover {
	text-decoration: none;
}
.courseSemester {
  display: inline-block;
  min-width: 5.5em;
}
.courseCode {
  display: inline-block;
  min-width: 4em;
  text-align: center;
}




blink, .blink {
  -webkit-animation: blink 1s step-end infinite;
  -moz-animation: blink 1s step-end infinite;
  -o-animation: blink 1s step-end infinite;
  animation: blink 1s step-end infinite;
}
@-webkit-keyframes blink { 67% { opacity: 0 } }
@-moz-keyframes blink { 67% { opacity: 0 } }
@-o-keyframes blink { 67% { opacity: 0 } }
@keyframes blink { 67% { opacity: 0 } }



.songinfo {
  float: right;
  width: 130px;
  text-align: right;
}
.songinfo p {
	text-align: right !important;
	display: inline-block;
	margin-top: 0px;
	margin-bottom: 10px;
}

#lgbtq_ally {
	position: absolute;
	bottom: 1em;
	right: 1em;
	width: 4em;
}



/*
-----------------------------------------
Header at the top
-----------------------------------------
*/
@media (max-width: 1460px) {
	#main-header {
		position: relative;
		width: 1024px;
		max-width: 100%;
		margin: 0 auto;
		left: 0;
		text-align: left;
		border-bottom: 1px solid black;
	}
	#main-menu {
		margin-bottom: 0.5em;
	}
	#main-menu a {
		display: inline-block;
		margin-right: 0.5em;
	}
	#main-menu a.stylebtn {
		display: inline-block;
	}
	#lgbtq_ally {
		width: 2.5em;
		top:   1em;
		right: 0em;
	}
}

/*
-----------------------------------------
Single column without spaces on the sides
-----------------------------------------
*/
@media (max-width: 1060px) {
	p, li {
		text-align: left;
	}
	h1, h2, h3, h4, p, #main-header-content, .content, .simplelist li, .datelist, .people,
	.publication {
		padding-left:  1rem !important;
		padding-right: 1rem;
	}
	#main-content table {
		margin-left:  1rem;
		margin-right: 1rem;
	}
	#lgbtq_ally {
		right: 1em;
	}
}

/*
-----------------------------------------
Menu button active
-----------------------------------------
*/
@media (max-width: 900px) {
	#main-header-content {
		overflow-y: visible;
	}
	#main-title {
		display: inline;
		margin-right: 0.1em;
	}
	#section-crumbs {
		display: inline;
		font-size: 160%;
		margin-right: 1.2em;
	}
	#section-crumbs::before {
		content: "/";
		margin-right: 0.2em;
	}
	#section-crumbs a:hover {
		color: #ff1414 !important;
		text-decoration: none;
	}
	#dropdown-menu-button {
		display: block;
		width: 2.2rem;
		height: 2.2rem;
		background: url(/images/menu-btn-black.svg);
		cursor: pointer;
		position: absolute;
		right: 0.5rem;
		top:   0.5rem;
	}
	#main-menu {
		display: none;
		position: absolute;
		top: 2.7rem;
		right: 0;
		z-index: 30;
		text-align: center;
		border-top: 1px solid #555;
		box-shadow: 0.2em 0.2em 0.5em rgb(0 0 0 / 50%);
		margin-right: 0.5rem;
	}
	#main-menu a {
		display: block;
		border: 1px solid #555;
		border-top-width: 0px;
		padding: 0.1em 0.5em;
		background-color: #ccc;
		font-size: 160%;
		font-weight: normal;
		margin-right: 0;
	}
	#main-menu a:hover {
		color: white;
		background-color: #9e3838;
		border-color: black;
		text-decoration: none;
	}
	#dropdown-menu-background {
		position: fixed;
		top:    0;
		bottom: 0;
		left:   0;
		right:  0;
		background-color: rgba(255,255,255,0.5);
	}
	.noShadow {
		box-shadow: none !important;
	}
	.dropdown-menu-clicked {
		color:            white   !important;
		background-color: #9e3838 !important;
		border-color:     black   !important;
	}
	#main-menu a.stylebtn {
		display: block;
		font-size: 70%;
		margin: 0;
		padding: 0.5em;
	}

	#lgbtq_ally {
		width: 2em;
		top: 0.5em;
		right: 3em;
	}
}

/*
-----------------------------------------
Too narrow
-----------------------------------------
*/

@media (max-width: 500px) {
	.publication .pub-repimg-container {
		float: none;
		margin: 1.5em 0 0.2em 0;
		width: 100%;
		max-width: none;
	}
	.publication .pub-thumbnail-container {
		margin-right: 1em;
	}
	.publication .pub-info {
		float: none;
		width: 100%;
		margin-top: 0.5em;
		margin-bottom: 0.5em;
	}
	.publication .pub-links {
		float: none;
		width: auto;
		display: table-cell;
	}
	
	.img2, .img3, .img2s {
		width: 100%;
	}
	.img4 {
		width: 50%;
	}
	.img2s+.img2s {
		margin-left: 0;
	}
	.left:after {
		content: "top";
	}
	.right:after {
		content: "bottom";
	}
	.float-right {
		float: none;
		max-width: 100%;
		margin-left: 0;
	}

}


/*
-----------------------------------------
Too narrow
-----------------------------------------
*/
@media print {
	#lgbtq_ally {
		display: none;
	}
}