/* Base styles */
* {
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 20px;
	font-family: calibri, gill sans, arial, helvetica, sans-serif;
	color: black;
}

body {
	margin: 0;
	padding: 0;
	background-color: #fff;
}

img {
	border-radius: 20px;
	max-width: 100%;
	height: auto;
}

/* Container */
.container {
	max-width: 90%;
	margin: 2% auto;
	padding: 0 2%;
}

/* Header */
header {
	margin-bottom: 20px;
}

h1 {
	font-weight: normal;
	font-family: calibri, gill sans, arial, helvetica, sans-serif;
	font-size: 207%;
	margin: 0;
	padding: 0;
}

h2 {
	font-weight: normal;
	font-family: calibri, gill sans, arial, helvetica, sans-serif;
	font-size: 178%;
	margin: 0 0 5px 0;
	padding: 0;
}

.subtitle-accent {
	color: #770000;
}

/* Main content layout */
main {
	display: flex;
	flex-wrap: wrap;
}

/* Sidebar */
.sidebar {
	width: 20%;
	padding-right: 2%;
}

.nav-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nav-menu li {
	margin-bottom: 10px;
}

/* Content area */
.content {
	flex: 1;
	min-width: 300px;
	padding-left: 3%;
	border-left: thin solid black;
}

/* Contact information */
.contact-grid {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.contact-details {
	width: 230px;
	padding-right: 20px;
}

.contact-address {
	flex: 1;
	min-width: 250px;
}

/* Affiliations */
.affiliation-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.affiliation-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
}

.affiliation-list li::before {
	content: "»";
	position: absolute;
	left: 0;
	top: 0;
}

/* Research news */
.news-item {
	margin-bottom: 15px;
}

/* Links */
a {
	color: #e20028;
	text-decoration: none;
	border: solid thin white;
	padding: 1.5px 2px;
	margin: -2px;
}

a:hover {
	background: #F0F0F0;
	border: solid thin black;
}

a:active {
	background: #FFEEEE;
	border: solid thin black;
}

/* Buttons */
.button {
	display: inline-block;
	color: #e20028;
	text-decoration: none;
	border: solid thin white;
	padding: 3px 8px;
	transition: all 0.2s ease;
	width: 100%;
	white-space: nowrap;
}

.button:hover {
	background: #F0F0F0;
	border: solid thin black;
}

.button:active {
	background: #FFEEEE;
	border: solid thin black;
}

/* Modal buttons */
.basic-modal {
	display: inline-block;
	background: transparent;
	color: #e20028;
	text-decoration: none;
	border: solid thin white;
	padding: 3px 8px;
	transition: all 0.2s ease;
	cursor: pointer;
	font-size: 18px;
	white-space: nowrap;
}

.basic-modal:hover {
	background: #F0F0F0;
	border: solid thin black;
}

.basic-modal:active {
	background: #FFEEEE;
	border: solid thin black;
}

/* Accordion content */
.accordion-class {
	margin-top: 20px;
	border-left: thin solid black;
	padding-left: 28px;
	padding-top: 7px;
	margin-left: 0px;
	margin-bottom: 20px;
	display: none;
}

.accordion-class h2 {
	padding-left: 0px;
	padding-top: 5px;
	padding-bottom: 14px;
	margin: 0px;
}

.accordion-class h3 {
	padding-left: 5px;
	padding-top: 6px;
	padding-bottom: 0px;
	margin: 0px;
	margin-top: 15px;
	margin-bottom: 15px;
	font-weight: normal;
	font-size: 125%;
	color: black;
	text-shadow: 0.5px 0.5px darkgray;
}

/* Tooltip */
.tooltip {
	position: relative;
	display: inline-block;
}

.tooltip .tooltiptext {
	visibility: hidden;
	width: 200px;
	background-color: #555;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 5px;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	margin-left: -100px;
	opacity: 0;
	transition: opacity 0.3s;
}

.tooltip:hover .tooltiptext {
	visibility: visible;
	opacity: 1;
}

/* Modal content */
.basic-modal-hide {
	display: none;
	word-wrap: break-word;
	background: #ffffCC;
}

/* Responsive design */
@media screen and (max-width: 700px) {
	main {
		flex-direction: column;
	}
	
	.sidebar {
		width: 100%;
		padding-right: 0;
		margin-bottom: 20px;
	}
	
	.content {
		width: 100%;
		padding-left: 0;
		border-left: none;
		border-top: thin solid black;
		padding-top: 20px;
	}
	
	.nav-menu {
		display: flex;
		flex-wrap: wrap;
	}
	
	.nav-menu li {
		margin-right: 15px;
	}
	
	#leftPart {
		width: 100%;
		float: none;
	}
	
	#rightPart {
		width: 100%;
		float: none;
		padding-left: 0;
		border-left: none;
		border-top: thin solid black;
		padding-top: 20px;
	}
}

/* Additional styles for backward compatibility */
.big-container {
	margin: 0px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 2%;
	padding: 0px;
	position: relative;
	width: 90%;
	max-width: 1000px;
}

.main-body {
	text-align: left;
	margin: 20px;
	margin-top: 0px;
	padding: 0px;
	height: auto;
}

#leftPart {
	padding-top: 0px;
	padding-left: 0px;
	float: left;
	width: 20%;
	height: auto;
	min-height: 100px;
	margin-bottom: 5px;
}

#rightPart {
	margin-left: 0px;
	padding-left: 3%;
	margin-bottom: 5px;
	float: left;
	width: 80%;
	border-left: thin solid black;
}

.inline {
	margin: 0px;
	padding: 0px;
}

.inline button {
	background: white;
	color: #e20028;
	text-decoration: none;
	border: solid thin white;
	font: 16px calibri, gill sans, arial, helvetica, sans-serif;
	padding: 1.5px 2px;
	margin-left: -2px;
	margin-right: -2px;
}

.inline button:hover {
	background: #F0F0F0;
	border: solid thin black;
	color: red;
	border-radius: 5px;
	transition: all 0.5s ease 0s;
}

.inline button:active {
	border-top-color: #5c1b33;
	background: #fff0f0;
}

/* Table styles */
.accordion-class table {
	border-collapse: collapse;
	width: 100%;
}

.accordion-class th, .accordion-class td {
	text-align: left;
	padding: 8px;
	font-style: normal;
}

.accordion-class tr:nth-child(even) {
	background-color: #f2f2f2;
}

.accordion-class th {
	background-color: black;
	color: white;
	font-style: normal;
}

/* Color classes */
.fg-red {
	color: #AD1212;
}

.bg-red {
	color: black;
	font-size: 115%;
	font-weight: normal;
	margin: 0px;
	padding: 0px;
	margin-top: 10px;
	overflow: hidden;
}

.bg-yellow {
	color: #401807;
	background-color: #EDFF1A;
}

.bg-gray {
	color: #401807;
	background-color: #EEEEEE;
}

.bg-blue {
	color: #401807;
	background-color: #5990E0;
}

.bd-blue {
	border-color: #5990E0;
	border-style: solid;
	border-width: 3px;
}

/* Modal container */
#simplemodal-container {
	height: 400px;
	width: 600px;
	color: #222222;
	background: #ffffCC;
	border: 4px solid #f7a843;
	padding: 12px;
}

#simplemodal-container a.modalCloseImg {
	border: none;
	background: url(./img/basic/x.png) no-repeat;
	width: 25px;
	height: 29px;
	display: inline;
	z-index: 3200;
	position: absolute;
	top: -15px;
	right: -16px;
	cursor: pointer;
}

/* Misc styles */
.separator-noline {
	margin-bottom: 30px;
	margin-top: 0px;
	border: none;
}

.separator-line {
	border: none;
	background: #795B59;
	height: 1px;
	margin-bottom: 20px;
	margin-top: 20px;
}

.author {
	text-align: right;
	font-style: normal;
	color: #2B99E6;
	margin: 0px;
}

/* Box styles */
.box-title {
	margin-bottom: 0px;
	margin-left: 0px;
	margin-right: 5px;
	word-wrap: break-word;
}

.box-title .name {
	color: #401807;
}

.box-title .title {
	color: #cccccc;
}

.box-title .link {
	color: #b47a1f;
}

.box-title .interest {
	font-size: 14px;
	color: #8b7553;
}

.box-title .details {
	font-size: 14px;
	color: #8b7553;
	text-align: justify;
}

.box-title .text {
	color: #6f480b;
}

.box-icon {
	float: left;
	margin-right: 10px;
	padding-top: 1px;
}

.subtitle {
	margin-top: -3px;
	font-size: 15px;
	color: #8c8c8c;
	display: block;
}

.dashed-line {
	border-right: 1px;
	border-style: dashed;
}

.dashed-line-h {
	border: dashed thin;
	margin-top: 15px;
}

span.alias {
	color: black;
	font-weight: bold;
}

.simplemodal-container span.alias {
	color: #AD1212;
	background-color: #ffffCC;
}

.title-auth {
	margin: 0px;
	padding: 0px;
	margin-top: 10px;
}

.title-conf {
	margin: 0px;
	padding: 0px;
	margin-top: 10px;
	margin-bottom: 10px;
}

/* Category buttons */
.cat-btn button {
	display: inline-block;
	margin: 2px 5px 0 0;
}

.cat-btn button.non-basic {
	padding: 3px 5px;
	padding-top: 0px;
	padding-bottom: 0px;
	line-height: 1.8;
	appearance: none;
	box-shadow: none;
	border-radius: 0;
	color: red;
	background: white;
	border: none;
}

.cat-btn button:focus {
	outline: none;
}

.cat-btn button.non-basic:hover {
	border: none;
	background: red;
	color: white;
}

.cat-btn button.non-basic:active {
	border: none;
	color: yellow;
}

.cat-btn button.basic-modal-blue {
	color: #fff;
	background-color: #6496c8;
	border: solid thin white;
}

/* Additional utility classes */
.nowrap {
    white-space: nowrap;
}

/* Some other CSS rule with font-size: 110% */
.some-selector {
    font-size: 126%;
}

/* CSS rules with small font sizes */
.small-text-1 {
    font-size: 14px;
}

.small-text-2 {
    font-size: 14px;
}

.slightly-larger-text {
    font-size: 15px;
}

/* Publications section styling */
#Accordion2Content ul > div.box-title.papers > div > li {
	list-style-type: none;
}

/* Ensure category headings keep their bullets */
#Accordion2Content > ul > li {
	list-style-type: disc;
}

/* Paper entries styling */
li.paper-entry {
	list-style-type: none;
}

/* Right-aligned text for blog references */
.blog-reference {
	float: right;
	font-style: normal;
	margin-left: 10px;
	font-size: 90%;
	color: #666;
	line-height: 1.5;
	display: inline-block;
}
