/* poole.css */
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
html,
body{margin:0;padding:0;}
html{line-height:1.5;}
@media (min-width:48em){html{font-size:16px;}
}
@media (min-width:52em){html{font-size:20px;}
}
body{
  color:#515151;
  background-color: rgb(245, 245, 245);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
a{text-decoration:none;}
a strong{color:inherit;}
a:hover,
a:focus{text-decoration:underline;}
h1, h2, h3, h4, h5, h6{margin-bottom:.5rem;font-weight:bold;line-height:1.25;color:#313131;text-rendering:optimizeLegibility;}
h1{font-size:2rem;}
h2{margin-top:1rem;font-size:1.5rem;}
h3{margin-top:1.5rem;font-size:1.25rem;}
h4, h5, h6{margin-top:1rem;font-size:1rem;}
p{margin-top:0;margin-bottom:1rem;}
strong{color:#303030;}
ul, ol, dl{margin-top:0;margin-bottom:1rem;}
.container{padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto;}

.sidebar{text-align:center;padding:1rem;color:rgba(255,255,255,.7);}
.sidebar a{color:#fff;}
.sidebar-about h1{color:#fff;margin-top:0;font-size:3.25rem;}
.sidebar-nav{margin-bottom:1rem;}
.sidebar-nav-item{display:block;line-height:1.75;}
a.sidebar-nav-item:hover,
a.sidebar-nav-item:focus{text-decoration:underline;}
.sidebar-nav-item.active{font-weight:bold;}
.content{padding-top:4rem;padding-bottom:2rem;}

/* dp.css */

@media (min-width:48em){

  main {
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: 52rem;
    box-shadow: 0 0 0.2em rgba(0, 0, 0, 0.15);
    margin: 0 auto;
  }

  .container{margin:0 auto;}

  .content{padding: 4rem 2rem 1rem 2rem; max-width: 52rem;}

  /* .sidebar-sticky{position: sticky; top: 2rem;} */
}

aside {
  display: none;
}
@media (min-width:71em){
  .column-layout {
    display: flex;
    margin: 0 auto;
    width: 57em;
    flex-direction: row-reverse;
  }
  main {
    margin: 0;
    width: 52em;
  }
  aside {
    display: block;
    width: 5em;
    padding-top: 0.4em;
    padding-left: 0.8em;
    font-weight: 300;
  }
  aside ul {
    list-style: none;
    padding: 0;
    position: sticky;
    top: 0.4em;
  }
  aside ul li a {
    display: inline-block;
    color: hsl(0, 0%, 43%);
    width: 5em;
    transition: font-size 0.05s;
    font-size: 85%;
  }
  aside ul li a:hover {
    text-decoration: none;
    font-weight: 400;
    color: hsl(0, 0%, 38%);
    font-size: 88%;
  }
  aside ul li.active a {
    font-weight: 400;
    color: hsl(346, 43%, 38%);
  }
}

footer {
  text-align: center;
  font-size: 80%;
  padding: 1rem 0;
  background-color: hsl(346, 43%, 95%);
  box-shadow: inset 0 0 2px hsl(346, 43%, 90%);
}
footer p {
  margin: 0;
}

.sidebar {
  background-color: #630017;
  padding: 1.2rem 1rem;
}
@media (min-width:48em){
  /* .sidebar { padding: 2rem 1rem; } */
}

.sidebar-nav {
  margin-bottom: 0.5rem;
}

.sidebar-about h1 {
  font-weight: bold;
  line-height: 1.1;
  font-size: 2.6rem;
}
@media (min-width:48em){
  .sidebar-about h1 { font-size: 3.25rem; }
}

.sidebar-nav-item {
  display: inline;
  padding-right: 5px;
}
@media (min-width:48em){
  /* .sidebar-nav-item { display: block; } */
}

.lead {
  font-size: 1.1rem;
  font-weight:300;
  margin-bottom: 0.6rem;
}

.content {
  background-color: #fff;
  padding-top: 1.1rem;
  line-height: 1.4;
}
@media (min-width:48em){
  .content { padding-top: 1.5rem; }
}

.content h2 {
  font-size: 105%;
  padding-top: 0.5em;
  border-top: 1px dotted #ccc;
}

.profile_pic {
  float: right;
  width: 38%;
  height: auto;
  margin-left: 0.8rem; 
  margin-bottom: 0.1rem;
  border: 2px solid #aaa;
}
/* @media (min-width:48em){
  .profile_pic { margin-left: 0.5rem; }
} */

#news {
  margin-top: 33px;
}

@media (min-width:48em){
  #news {
    margin-top: 20px;
  }
}

#update {
  float: right;
  display: block;
  padding: 5px 5px 2px 5px;
  margin: -38px -10px 0 0;
  height: 28px;
  font-size: 80%;
  background-color: #eee;
  border: 1px dotted #aaa;
}

.featured {
  font-size: 115%;
  margin-bottom: 0.5em;
}
@media (min-width:30em){
  .featured { font-size: 122%; }
}

table.bio {
  width: 100%;
  font-size: 95%; 
  box-shadow: 0.5px 0.5px 2px #d6d6d6;
  padding: 0.3em 0.4em;
  border: 1px solid #e8e8e8;
  border-radius: 5px;
}

table.bio tr td:first-child {
  vertical-align: top;
}

table.bio tr td:first-child span {
  vertical-align: top;
  font-size: 84%; 
  white-space: nowrap;
  width: 4.7em;
  display: inline-block;
  padding: 0.02em 0.25em;
  margin-top: 0.15em;
  margin-right: 0.4em;
  border-radius: 5px;
  font-weight: 500;
}
table.bio tr td:first-child span.bio-item-3 {
  background-color: hsl(336, 80%, 93%);  
}
table.bio tr td:first-child span.bio-item-2 {
  background-color: hsl(258, 80%, 93%);  
}
table.bio tr td:first-child span.bio-item-1 {
  background-color: hsl(210, 80%, 93%);  
}
table.bio tr td:first-child span.bio-item-0 {
  background-color: #eee;
}

.secondary {
	color: rgba(255,255,255,.85)!important;
	font-size: 90%;
}
@media (max-width:30em){
  .hide-when-small { display: none; }
}

.content a, footer a {
  color: #ac4142;
	border-bottom: 1px dotted #ac4142;
}

.content a:hover, .content a:active, footer a:hover {
	text-decoration: none;
	background-color: #FFF5F5;
	border-bottom: 1px solid #ac4142;
}

.linklist {
	font-size: 90%;
}

.email {
  font-size: 90%;
  margin-bottom: 0;
}

.alt_email {
  display: none;
}
@media (min-width:30em){
  .alt_email { display: inline; padding-right: 10px; }
}
@media (min-width:48em){
  .alt_email { display: block; }
}

.address {
  display: inline;
  padding-right: 8px;
}
/* @media (min-width:48em){
  .address { display: block; }
} */

small {
	font-size: 77%;
}

.year-marker {
  position: relative; 
  width: 0;
  display: none;
}
@media (min-width:48em){
  .year-marker { display: block; }
}

.year-marker > span {
  position: absolute; 
  right: 33px; 
  top: 0px; 
  border: #ac4142 solid 1px;
  color: #ac4142;
  font-size: 82%; 
  padding: 0 5px; 
  font-weight: bold;
  cursor: default;
}

.publication-list {
  margin-left: 0;
  padding-left: 2.2em;
  margin-bottom: 1.0em;
  list-style: none;
}
.publication-list li {
  margin-bottom: 10px;
  font-size: 95%;
  line-height: 1.5;
}
.publication-list li::before {
  text-align: center;
  font-size: 82%;
  border-radius: 3px;
  color: white;
  display: inline-block; 
  width: 2.2em;
  padding: 0 0.02em;
  top: -1px;
  position: relative;
  margin-left: -2.82em;
  margin-right: 0.6em;
}
ul.publication-list li::before {
  content: "•";
  background-color: #aaa;
}
#thesis-item::before {
  content: "✓";
  background-color: #ac4142;
}
ul.publication-list li.survey-item::before {
  content: "✷";
  background-color: #6b52d1;
}
.new-survey {
  font-size: 50%;
  position: relative;
  top: -3px;
  padding: 3px;
  background-color: rgb(244, 244, 141);
  border-radius: 4px;
}
@media (prefers-color-scheme: dark) {
  .new-survey {
    background-color: rgb(244, 244, 141);
    color: #333;
  }
}
#recents li::before {
  content: "⭑";
  background-color: rgb(151, 71, 146);
}
#preprints li::before,
.publication-list li.preprint::before {
  content: "➤";
  background-color: rgb(33, 150, 144);
}
.publication-list li.chapter::before {
  content: "B" attr(value); 
  background-color: #0d8c2f;
}
.publication-list li.journal::before {
  content: "J" attr(value); 
  background-color: #c12f72;
}
.publication-list li.conference::before {
  content: "C" attr(value); 
  background-color: #206da1;
}
@media (min-width:30em){
  .publication-list { padding-left: 2.2em; }
  .publication-list li { font-size: 85%; }
  .publication-list > li > strong { font-size: 105%; }
}

#posters {
    height: 250px; 
    overflow-x: scroll; 
    overflow-y: hidden; 
    padding-bottom: 0px;
    white-space: nowrap;
}

#posters a {
  border-bottom: 0;
}

.poster-thumb {
    display: inline-block;
    height: 230px;
    border: 1px #630017 solid;
    margin-right: 3px;
    border-radius: 0;
}

#filter-interface {
  display: block;
  background-color: rgb(255, 249, 249);
  padding: 10px;
  /* border-radius: 9px; */
  border: 1px solid rgb(248, 220, 220);
}

#filter-interface.sticky {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
  z-index: 100;
}

#filter-interface p {
  font-size: 85%;
  margin: 0 0 0.15em 0.1em;
}

#filter-buttons {
  display: flex;
  flex-wrap: wrap;
}

#filter-buttons a, #search {
  /* display: inline-block; */
  font-size: 80%;
  background-color: white;
  padding: 4px 6px;
  margin: 2px 1px 2px 0px;
  border-radius: 4px;
  border: 1px solid #630017;
}
@media (min-width:48em){
  #filter-buttons a, #search {
    font-size: 80%;
    margin: 4px 2px;
  }
}

#filter-buttons a:active {
  /* make it look like it's pressed */
  transform: scale(0.98);
}

#search {
  width: 10ch;
}
#search::placeholder {
  color: #ac4142;
}
#search.btn-active {
  width: 15ch;
}
#search::-webkit-search-cancel-button {
  cursor: pointer;
}

#filter-buttons a:link {
  text-decoration: none !important;
}

#search:focus {
  box-shadow: inset 0 0 5px #f5ced6;
  outline: none;
}

@media (min-width:48em){
  #filter-buttons a:hover, #search:hover {
    border: 2px solid #9b2843 !important;
    padding: 3px 5px;
  }
}

/* #btn-all {
  background-color: #206da1;
} */

.btn-active {
  background-color: #630017 !important;
  /* background-color: #206da1; */
  color: white !important;
  box-shadow: 
    0 1px 2px #fff, /*bottom external highlight*/
    inset 0 -1px 2px rgba(0,0,0,0.5), /*bottom internal shadow*/ 
    inset 0 0px 2px 1px rgba(255,255,255,0.6); /*top internal highlight*/
}

.btn-active:hover {
  background-color: #9b2843 !important;
  /* background-color: #206da1 !important; */
  border-color: white !important;
  color: white !important;
}

.content i.authors a {
  color: #515151;
  border-bottom: 1px dotted #ebb7b8;
}

/* .btn-active::before {
  content: "✓ ";
} */

/* Night mode */

/* Css Nightmode */

@media (prefers-color-scheme: dark) {
  body {
    background-color: rgb(20,20,20);
  }
  .sidebar {
    color: hsl(0, 20%, 75%);
  }
  .secondary {
    color: hsl(0, 20%, 80%) !important;
  }

  footer {
    background-color: hsl(346, 15%, 18%);
    box-shadow: inset 0 0 2px hsl(346, 25%, 30%);
  }
  aside ul li a {
    color: hsl(0, 0%, 55%);
  }
  aside ul li a:hover {
    color: hsl(0, 0%, 75%);
  }
  aside ul li.active a {
    color: hsl(359, 91%, 72%);
  }

  .content {
    background-color: rgb(40,40,40);
    color: rgb(210,210,210);
  }
  h1, h2, h3, h4, h5, h6, strong {
    color: rgb(240,240,240);
  }

  #update {
    background-color: #444;
  }

  .profile_pic {
    border: 2px solid hsl(0, 0%, 45%);
  }
  
  .content a, footer a {
    color: hsl(359, 91%, 72%);
  }
  .content a:hover, footer a:hover {
    background-color: rgb(70,70,70);
    color: hsl(359, 91%, 77%);
  }

  table.bio {
    border: 1px solid hsl(0, 0%, 60%);
    box-shadow: none;
  }
  table.bio tr td:first-child span {
    color: hsl(0,0%,90%);
  }
  table.bio tr td:first-child span.bio-item-3 {
    background-color: hsl(336, 60%, 40%);  
  }
  table.bio tr td:first-child span.bio-item-2 {
    background-color: hsl(258, 60%, 40%);  
  }
  table.bio tr td:first-child span.bio-item-1 {
    background-color: hsl(210, 60%, 40%);  
  }
  table.bio tr td:first-child span.bio-item-0 {
    background-color: hsl(0, 0%, 37%);
  }

  #filter-interface {
    background-color: #333;
    border: 1px solid hsl(0, 10%, 70%);
  }
  #filter-buttons a, #search {
    background-color: rgb(53, 41, 41);
    color: #f48284;
    border-color: rgb(210,210,210);
  }

  .content i.authors a {
    color: rgb(210,210,210);
    border-bottom: 1px dotted #6c2526;
  }

  #search::placeholder {
    color: #f48284;
  }
  #search::-webkit-search-cancel-button {
    filter: invert(1);
  }

  .btn-active {
    color: white !important;
    box-shadow: none;
  }
}