html, body, body * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: Helvetica, sans-serif;
  font-weight: lighter; }

h1,
h2,
h3,
h4,
h5 {
  font-weight: 400; }

h1 {
  margin-bottom: 2%; }

h2 {
  font-size: 1.5em;
  margin-bottom: 1%;
  color: #282828;
  font-weight: 100;
  border-bottom: 1px solid rgba(255, 131, 131, 0.7);
  width: fit-content;
  padding: 10px 10px 10px 0px; }

.page > h2 {
  margin-bottom: 4%; }

h3 {
  font-size: 1.2em;
  margin-bottom: 4%; }

img {
  max-width: 100%; }

li {
  list-style-type: none; }

p {
  margin-bottom: 1%;
  line-height: 1.7em;
  font-weight: lighter;
  font-size: 18px; }

a, p {
  color: #282828; }

a {
  border-bottom: 1px dotted #ff8383;
  text-decoration: none; }
  a:hover {
    color: #ff8383;
    border-bottom: 1px solid #ff8383; }

.table-of-contents {
  width: fit-content;
  background: whitesmoke;
  padding: 3%;
  margin-bottom: calc(1% + 40px); }
  .table-of-contents .component__table-of-contents-header {
    margin-bottom: 3%; }
  .table-of-contents .component__table-of-contents-list-item {
    list-style-type: none;
    line-height: 1.7em;
    margin-left: 20px; }

.hidden {
  visibility: hidden; }

.page {
  display: flex;
  flex-direction: column;
  padding: 0 25%;
  margin-top: 100px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden; }

header {
  width: 100%;
  max-width: 100%; }

.page {
  padding: 0% 25%; }

header {
  padding: 3% 25%; }

ul, h2, p {
  margin-bottom: 4%; }

@media (max-width: 1500px) {
  .page {
    margin-top: 40px; }

  .page, header {
    padding: 5% 15%; } }
@media (max-width: 1000px) {
  .page, header {
    padding: 5% 5%; }

  .page {
    margin-top: 40px; } }
@media (max-width: 850px) {
  .page, header {
    padding: 5% 5%; } }
footer {
  padding: 0% 15%;
  color: rgba(0, 0, 0, 0.6);
  text-align: left;
  font-size: 14px;
  line-height: 1.8em;
  background: whitesmoke;
  padding: 1% 35%; }
  footer a.link-alt {
    border: 1px solid #ff8383;
    color: #282828;
    padding: 1px 2px 0px 2px; }
    footer a.link-alt:hover {
      background: #ff8383;
      border: 1px solid #ff8383;
      color: whitesmoke; }

@media (max-width: 1500px) {
  footer {
    padding: 1% 15%; } }
@media (max-width: 1000px) {
  footer {
    padding: 3% 5% 6% 5%; } }
@media (max-width: 850px) {
  footer {
    padding: 5% 5%; } }
header {
  background: whitesmoke;
  font-weight: 200; }
  header ul, header li {
    margin: 0;
    padding: 0; }
  header a:not(.active):hover {
    border-bottom: 1px solid transparent; }
  header .logotype a:hover {
    color: #282828; }
  header .logotype h1 {
    margin-bottom: 0;
    white-space: nowrap; }
  header li:not(.logotype) {
    padding-left: 30px; }
  header ul {
    display: inline-flex;
    align-items: baseline; }
  header li {
    list-style-type: none;
    display: inline-flex;
    align-items: baseline; }
  header a {
    text-decoration: none;
    border-bottom: 1px solid transparent; }
  header a.active {
    border-bottom: 1px solid #ff8383; }

@media (max-width: 850px) {
  header {
    background: white; }
    header ul {
      display: flex;
      flex-direction: column;
      justify-content: flex-start; }
    header li {
      line-height: 1.5em; }
    header li.logotype {
      width: 100%;
      padding-bottom: 30px; }
    header li:not(.logotype) {
      padding-left: 0px;
      padding-bottom: 5px; }
      header li:not(.logotype):before {
        content: '> ';
        padding-right: 10px;
        color: #ff8383; } }
.nav-to-top {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s, opacity 0.5s linear;
  color: #ff8383;
  border: 1px solid #ff8383;
  background: white;
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 10px 15px; }
  .nav-to-top.hidden {
    visibility: hidden;
    opacity: 0; }
  .nav-to-top:hover {
    background: whitesmoke; }

.page__about-me img.headshot {
  max-width: 250px;
  margin: 0 auto;
  margin-top: 0px;
  border-radius: 50%;
  border: 5px solid whitesmoke; }

@media (max-width: 850px) {
  .page__about-me {
    padding-top: 0; } }
.page__cv h3 {
  margin-bottom: 0; }
.page__cv li {
  list-style-type: none; }
.page__cv .cv-download {
  display: inline-flex; }
  .page__cv .cv-download .cv-download__link {
    align-items: center;
    background: white;
    border: 1px solid #c5c5c5;
    border-radius: 3px;
    display: inline-flex;
    justify-content: space-evenly;
    margin-bottom: 8%;
    padding: 12px;
    width: 30%;
    height: 100%; }
    .page__cv .cv-download .cv-download__link:hover {
      background: whitesmoke;
      border: 1px solid black;
      color: black; }
.page__cv .education,
.page__cv .teaching,
.page__cv .awards {
  margin-bottom: 4%; }
.page__cv .awards__record {
  padding: 10px;
  background: whitesmoke; }
  .page__cv .awards__record-year {
    color: #ff8383; }
.page__cv .teaching > li, .page__cv .education > li {
  margin-bottom: 5px; }
.page__cv .teaching__record, .page__cv .education__record {
  padding: 1% 0 0 0; }
  .page__cv .teaching__record .cv-tab,
  .page__cv .teaching__record .cv-folder, .page__cv .education__record .cv-tab,
  .page__cv .education__record .cv-folder {
    padding: 10px; }
  .page__cv .teaching__record .cv-folder, .page__cv .education__record .cv-folder {
    background: whitesmoke;
    border-left: 1px solid #ff8383;
    padding: 20px 30px; }
  .page__cv .teaching__record-year, .page__cv .education__record-year {
    padding: 10px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    color: whitesmoke;
    background: #ff8383;
    align-self: flex-end; }
  .page__cv .teaching__record-degree, .page__cv .teaching__record-position, .page__cv .teaching__record-course, .page__cv .education__record-degree, .page__cv .education__record-position, .page__cv .education__record-course {
    color: #a7a7a7; }
  .page__cv .teaching__record-university, .page__cv .teaching__record-position, .page__cv .teaching__record-degree, .page__cv .teaching__record-publication, .page__cv .teaching__record-course, .page__cv .education__record-university, .page__cv .education__record-position, .page__cv .education__record-degree, .page__cv .education__record-publication, .page__cv .education__record-course {
    margin-bottom: 10px; }
.page__cv .teaching__record-year {
  align-self: flex-end; }
.page__cv .awards__record {
  justify-content: space-between;
  padding: 20px 30px; }
  .page__cv .awards__record-year {
    margin-right: -15px; }
.page__cv .awards__record {
  width: 100%;
  display: inline-flex; }
  .page__cv .awards__record-year {
    align-self: flex-end; }
.page__cv .teaching__record,
.page__cv .education__record {
  display: flex;
  flex-direction: column; }

@media (max-width: 850px) {
  .page__cv .cv-download .cv-download__link {
    width: 100%; } }
.page__publications li {
  list-style-type: none; }
.page__publications strong {
  font-weight: initial; }

.page__research img {
  padding-top: 40px; }

/*# sourceMappingURL=main.css.map */
