/* =========================================================
   Global
   ========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #2b2b2b;
  background: #ffffff;
}

a {
  color: #365f8d;
  text-decoration: none;
}

a:hover {
  color: #1f3f63;
  text-decoration: underline;
}


/* =========================================================
   Sidebar
   ========================================================= */

.sidebar {
  position: fixed;
  top: 0;
  left: 0;

  width: 210px;
  height: 100vh;

  padding: 48px 30px;

  background: #fafafa;
  border-right: 1px solid #e8e8e8;
}

.sidebar-name {
  display: block;

  margin-bottom: 38px;

  font-size: 23px;
  font-weight: 600;

  color: #222222;
  text-decoration: none;
}

.sidebar-name:hover {
  color: #222222;
  text-decoration: none;
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
}

.sidebar-nav a {
  display: block;

  margin-bottom: 16px;

  font-size: 16px;

  color: #666666;
  text-decoration: none;
}

.sidebar-nav a:hover {
  color: #222222;
  text-decoration: none;
}

.sidebar-nav a.active {
  color: #222222;
  font-weight: 600;
}


/* =========================================================
   Main Content
   ========================================================= */

main {
  margin-left: 210px;
}

.page-container {
  max-width: 1000px;
  margin: 0 auto;

  padding: 55px 55px 90px 55px;
}


/* =========================================================
   Profile
   ========================================================= */

.profile-section {
  display: flex;
  align-items: center;

  gap: 48px;

  padding-bottom: 48px;
}

.profile-photo {
  flex: 0 0 220px;
}

.profile-photo img {
  display: block;

  width: 220px;
  height: 280px;

  max-width: 220px;

  object-fit: cover;
  object-position: center top;

  border-radius: 2px;

  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.profile-info {
  flex: 1;
}

.profile-info h1 {
  margin: 0 0 13px 0;

  font-size: 44px;
  line-height: 1.15;
  font-weight: 600;

  color: #222222;
}

.profile-title {
  margin-bottom: 5px;

  font-size: 20px;
  line-height: 1.5;

  color: #333333;
}

.profile-school {
  margin-bottom: 18px;

  font-size: 17px;

  color: #666666;
}

.profile-email {
  margin-bottom: 6px;

  font-size: 16px;
}

.profile-email a {
  color: #365f8d;
}

.profile-links {
  margin-top: 3px;

  font-size: 15px;
}

.profile-links span {
  margin: 0 8px;

  color: #aaaaaa;
}


/* =========================================================
   Home Sections
   ========================================================= */

.home-block {
  margin-top: 12px;
  margin-bottom: 54px;
}

.home-block h2 {
  margin: 0 0 22px 0;

  padding-bottom: 9px;

  font-size: 25px;
  line-height: 1.3;
  font-weight: 500;

  color: #3d648d;

  border-bottom: 1px solid #d9e0e7;
}

.home-block p {
  max-width: 830px;

  margin-top: 0;
  margin-bottom: 16px;
}


/* =========================================================
   Job Market Paper
   ========================================================= */

.featured-paper {
  padding-left: 18px;

  border-left: 3px solid #d7e1eb;
}

.featured-paper h3 {
  margin: 0 0 7px 0;

  font-size: 19px;
  line-height: 1.5;
  font-weight: 600;

  color: #222222;
}

.paper-authors {
  margin: 0 0 4px 0 !important;

  font-size: 15px;

  color: #666666;
}

.paper-status {
  margin: 4px 0 18px 0 !important;

  font-size: 16px;
  font-weight: 700;

  color: #294f79;
}

.paper-status strong,
.paper-status em {
  font-weight: 700;
}

.abstract {
  margin-top: 18px !important;

  font-size: 15.5px;
  line-height: 1.75;

  color: #333333;
}

.abstract strong {
  font-weight: 600;
}


/* =========================================================
   Awards and Fellowships
   ========================================================= */

.award-list {
  margin: 0;

  padding-left: 22px;
}

.award-list li {
  margin-bottom: 11px;

  padding-left: 4px;

  line-height: 1.6;
}

.award-list strong {
  font-weight: 600;
}


/* =========================================================
   Research / Teaching pages
   ========================================================= */

.page-header {
  margin-bottom: 40px;
}

.page-header h1 {
  margin: 0;

  padding-bottom: 10px;

  font-size: 34px;
  font-weight: 500;

  color: #3d648d;

  border-bottom: 1px solid #d9e0e7;
}

.content-section {
  margin-bottom: 55px;
}

.content-section h2 {
  margin-bottom: 25px;

  padding-bottom: 8px;

  font-size: 24px;
  font-weight: 500;

  color: #3d648d;

  border-bottom: 1px solid #e1e6eb;
}

.paper {
  margin-bottom: 38px;
}

.paper h3 {
  margin-bottom: 6px;

  font-size: 18px;
  line-height: 1.5;
}

.paper p {
  margin-top: 5px;
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 760px) {

  .sidebar {
    position: relative;

    width: 100%;
    height: auto;

    padding: 24px 25px;

    border-right: none;
    border-bottom: 1px solid #e8e8e8;
  }

  .sidebar-name {
    margin-bottom: 16px;
  }

  .sidebar-nav {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .sidebar-nav a {
    margin-right: 22px;
    margin-bottom: 5px;
  }

  main {
    margin-left: 0;
  }

  .page-container {
    padding: 35px 25px 60px 25px;
  }

  .profile-section {
    flex-direction: column;
    align-items: flex-start;

    gap: 28px;

    padding-bottom: 40px;
  }

  .profile-photo {
    flex: none;
  }

  .profile-photo img {
    width: 200px;
    height: 255px;
    max-width: 200px;
  }

  .profile-info h1 {
    font-size: 36px;
  }

  .profile-title {
    font-size: 18px;
  }

  .profile-school {
    font-size: 16px;
  }

  .home-block {
    margin-bottom: 45px;
  }

  .home-block h2 {
    font-size: 23px;
  }

  .featured-paper {
    padding-left: 14px;
  }

  .featured-paper h3 {
    font-size: 18px;
  }

  .abstract {
    font-size: 15px;
  }
}
