@import url(http://fonts.googleapis.com/css?family=Ubuntu:500&subset=latin,latin-ext);

body {
    font-size: 16px;
    font-weight: 400;
	color: #2c3e50;
    font-family: Tahoma, Arial, sans-serif;
/*     margin: 0 auto; */
}
div.ccontent {
    zoom: 1;
    display*: inline;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    vertical-align: middle;
    max-width: 1120px;
    min-width: 330px;
    padding-left: 10px;
    padding-right: 10px;
}
/* .div_left {
    width: 40%;
    float: left;
}
.div_right {
    width: 60%;
    float: right;
} */
img.img-circle {
    max-width:100%;
    height:auto;
    display:block
}
div.heading {
    text-align: left;
    position: relative;
    z-index: 1;
}
div.heading div.div_left {
    padding: 30px 10px 30px 10px;
    max-width: 20%;
    min-width: 150px;
}
div.div_left, div.div_right {
    padding-left: 10px;
    padding-right: 10px;
}
div.div_left, div.div_right {
    display: inline-block;
    zoom: 1;
    display*: inline;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    vertical-align: middle;
    max-width: 960px;
}


span.highlight {
    color: #BB2222;
}

a.nav-link {
	padding-bottom: 5px;
	padding-top: 7px;
	color: #aaa;
}
a.nav-link i{
	font-size: 16px;
}
a.nav-link:hover { color: #777 }

#bio {
	font-family: "Courier New", Courier, monospace;
	font-size: 11px;
	margin: 0 auto;
	margin-bottom: 10px;
}

#contact-list li .fa,
article .share .btn {
	-o-transition:color .2s ease-out, background 1s ease-in;
  -ms-transition:color .2s ease-out, background 1s ease-in;
  -moz-transition:color .2s ease-out, background 1s ease-in;
  -webkit-transition:color .2s ease-out, background 1s ease-in;
  transition:color .2s ease-out, background 1s ease-in;
}
#contact-list li:hover .fa-twitter,
article .share .twitter:hover {
	color: #00ACEE;
	border-color: #00ACEE;
}
#contact-list li:hover .fa-linkedin {
	color: #1D87BD;
}
#contact-list li:hover .fa-envelope {
	color: #E93E30;
}
#contact-list li:hover .fa-pinterest {
	color: #CC2127;
}
#contact-list li:hover .fa-rss {
	color: #e74c3c;
}
article .share .facebook:hover {
	color: #43609C;
	border-color: #43609C;
}
article .share .gplus:hover {
	color: #C13929;
	border-color: #C13929;
}

#contact-list-secondary {
	padding-bottom: 10px;
}

.page-header {
	color: #e74c3c;
	/* subtler shadow to match flat/clean style */
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

article{
	margin-bottom: 40px;
}

.article_body{
	margin-top: 20px;
	margin-bottom: 20px;
}

.post-date {
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 3px;
}

.news-container {
    max-width: 1120px;
    min-width: 330px;
    height: 200px; 
    overflow-y: auto;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 8px;
    /* background-color: #f9f9f9; */
}

article {
	padding: 0 5% 0;
}

article.home div a, article.home pre a { color: #2c3e50; }
article.home div a:hover, article.home pre a:hover { color: #2c3e50; text-decoration: none; }
article img { max-width: 100%; }

h1,h2,h3,h4,h5,h6 { font-family: 'Ubuntu', sans-serif; }
article.home h1,
article.home h2,
article.home h3,
article.home h4,
article.home h5,
article.home h6 {
	font-family: 'Ubuntu', sans-serif;
	color: #f2756a;
}

article.home h1 a,
article.home h2 a,
article.home h3 a,
article.home h4 a {
	color: #f2756a;
}
article.home h1 a:hover,
article.home h2 a:hover,
article.home h3 a:hover,
article.home h4 a:hover {
	color: #e74c3c;
}

.author .author-image {
  float: left;
  margin-right: 20px;
}

footer {
	padding-top: 15px;
	font-family: 'Ubuntu';
}

/* nav-vertical-tabs component */
.nav-tabs-vertical {
    border-right: 1px solid #ddd;
}

.nav-tabs-vertical li {
    margin-right: -1px;
}

.nav-tabs-vertical>li.active>a, .nav-tabs-vertical>li.active>a:hover, .nav-tabs-vertical>li.active>a:focus {
    color: #555;
    cursor: default;
    background-color: #fff;
    border: 1px solid #ddd;
    border-right-color: transparent;
}

.nav-tabs-vertical>li>a {
    line-height: 1.428571429;
    border: 1px solid transparent;
    border-radius: 4px 0 0 4px;
}

.badge { background: #F2756A; }

#nav-menu{
    position: fixed;
    top: 45px;
    right: 45px;
    z-index: 2000;
}
#nav-menu .dropdown-menu {
    left: inherit;
    right: 0px;
}

ul.dropdown-menu>li>a>i.fa {
    width: 1.3em;
}

li {
    list-style-type: square;
}

h1 {
    font: normal 135% "TeXGyrePagella", "Palatino Linotype", "Book Antiqua", Palatino, serif;
    color: #000000;
    margin: 0 0 0 0;
    font-weight: bold;
    padding: 10px 0 5px 0;
}

h2, h3, h4, h5, h6 {
    font: normal 165% 'century gothic', arial, sans-serif;
    color: #000000;
    margin: 0 0 0 0;
    padding: 10px 0 5px 0;
}

/* .inline-images img {
    display: inline-block;
    vertical-align: top;
} */

a {
    color: #0055aa;
    text-decoration: none;
}
a:hover {
    color: #003377;
    text-decoration: underline;
}
.sort-link {
          cursor: pointer;
          color: black;
          text-decoration: underline;
          margin-right: 10px;
}
.sort-link.active {
      font-weight: bold;
      color: black;
      text-decoration: none;
}

body,
td,
th,
tr,
p,
a {
    font-family: "TeXGyrePagella", "Palatino Linotype", "Book Antiqua", Palatino, serif;
    font-size: 15px;
}

name {
    font-family: "TeXGyrePagella", "Palatino Linotype", "Book Antiqua", Palatino, serif;
    font-size: 40px;
}

heading {
    font-family: "TeXGyrePagella", "Palatino Linotype", "Book Antiqua", Palatino, serif;
    font-size: 22px;
}

papertitle {
    font-family: "TeXGyrePagella", "Palatino Linotype", "Book Antiqua", Palatino, serif;
    font-size: 15px;
    font-weight: bold;
}

span.venue {
    color: #0055aa;
    font-weight: bold;
}

/* Dark Mode Styles */
body.dark-mode {
    background: linear-gradient(to bottom, #121212 0%, #0a0a0a 100%);
    color: #f0f0f0;
    min-height: 100vh;
}

body.dark-mode a {
    color: #5dade2;
}

body.dark-mode a:hover {
    color: #85c1e9;
}

body.dark-mode .news-container {
    background-color: #1e1e1e;
    border-color: #333;
    /* subtle elevation in dark mode (so it reads as a separate surface but not too harsh) */
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
    color: #ffffff;
}

body.dark-mode .sort-link {
    color: #f0f0f0;
}

body.dark-mode .sort-link.active {
    color: #ffffff;
}

.author-name {
    color: black;
}

body.dark-mode .author-name {
    color: white;
}

.venue {
    color: #0055aa;
    font-weight: bold;
}

body.dark-mode .venue {
    color: #87ceeb;
}

/* Footer styling for better integration */
p[align="right"] {
    margin-top: 50px;
    padding: 30px 0;
    color: #b0b0b0;
    font-size: 0.9em;
    text-align: right;
    position: relative;
}

body.dark-mode p[align="right"] {
    color: #cccccc;
    background: linear-gradient(to top, rgba(10, 10, 10, 0.9) 0%, rgba(18, 18, 18, 0.7) 30%, rgba(25, 25, 25, 0.4) 60%, transparent 100%);
    /* softer border and shadow to match the site's subtle style */
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.35);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}

body.dark-mode p[align="right"] a {
    color: #5dade2;
    /* remove strong text-shadow so links look crisp on dark background */
    text-shadow: none;
}

body.dark-mode p[align="right"] a:hover {
    color: #85c1e9;
    text-shadow: none;
}

.contact-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; margin-top:10px; }
.contact-link { 
    display:inline-flex; 
    align-items:center; 
    gap:6px; 
    color:#2c3e50; 
    text-decoration:none; 
    padding:6px 12px; 
    border-radius:8px; 
    background:linear-gradient(135deg, #f5f7fa 0%, #e9ecef 100%);
    border:1px solid #dee2e6;
    transition:all .25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow:0 1px 3px rgba(0,0,0,0.05);
    font-size:13px;
    font-weight:500;
}
.contact-link:hover { 
    background:linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
    transform:translateY(-1px);
    box-shadow:0 3px 10px rgba(0,0,0,0.12);
    border-color:#adb5bd;
    text-decoration:none;
}
.contact-icon { 
    width:18px; 
    height:18px; 
    display:inline-block; 
    flex-shrink:0;
    transition:transform .25s ease;
}
.contact-link:hover .contact-icon {
    transform:scale(1.1);
}
body.dark-mode .contact-link {
    background:linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
    border-color:#4a5568;
    color:#e2e8f0;
}
body.dark-mode .contact-link:hover {
    background:linear-gradient(135deg, #374151 0%, #2d3748 100%);
    border-color:#6b7280;
}

/* Theme Toggle Container - Fixed Top Right */
#theme-toggle-container { position: fixed; top: 20px; right: 20px; z-index: 1000; }

/* Theme Toggle Switch Styles */
.theme-switch { position: relative; display: inline-block; width: 60px; height: 30px; cursor: pointer; }
.theme-switch input { opacity: 0; width: 0; height: 0; }
.theme-slider { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 30px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 2px 8px rgba(0,0,0,0.15), inset 0 1px 2px rgba(255,255,255,0.2); }
.theme-slider:before { content: ''; position: absolute; height: 24px; width: 24px; left: 3px; bottom: 3px; background: white; border-radius: 50%; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
.theme-switch input:checked + .theme-slider { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); }
.theme-switch input:checked + .theme-slider:before { transform: translateX(30px); }
.theme-slider:hover { box-shadow: 0 3px 12px rgba(0,0,0,0.25), inset 0 1px 2px rgba(255,255,255,0.3); }
.theme-icon { position: absolute; top: 50%; transform: translateY(-50%); font-size: 14px; transition: all 0.3s ease; pointer-events: none; }
.theme-icon.sun { left: 8px; opacity: 0; }
.theme-icon.moon { right: 8px; opacity: 1; }
.theme-switch input:checked + .theme-slider .theme-icon.sun { opacity: 1; }
.theme-switch input:checked + .theme-slider .theme-icon.moon { opacity: 0; }

@media (max-width: 576px) {
    /* tighter spacing to keep links on a single line on most phones */
    .contact-links { gap:6px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .contact-link { padding:6px 8px; font-size:12px; min-width:0; }
    .contact-icon { width:18px; height:18px; }
    .div_right { display:flex; flex-direction:column; }
    #theme-toggle-container { top: 15px; right: 15px; }
}

@media (max-width:420px) {
    /* very small screens: show icons only to guarantee single-line layout */
    .contact-link span { display:none; }
    .contact-link { padding:10px; min-width:44px; justify-content:center; }
    .contact-icon { width:22px; height:22px; }
}