/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'), url(https://fonts.gstatic.com/s/lato/v15/S6u8w4BMUTPHjxsAUi-qNiXg7eU0.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'), url(https://fonts.gstatic.com/s/lato/v15/S6u8w4BMUTPHjxsAXC-qNiXg7Q.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url(https://fonts.gstatic.com/s/lato/v15/S6u_w4BMUTPHjxsI5wq_FQftx9897sxZ.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url(https://fonts.gstatic.com/s/lato/v15/S6u_w4BMUTPHjxsI5wq_Gwftx9897g.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v15/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url(https://fonts.gstatic.com/s/lato/v15/S6uyw4BMUTPHjx4wXiWtFCc.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url(https://fonts.gstatic.com/s/lato/v15/S6u9w4BMUTPHh6UVSwaPGQ3q5d0N7w.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url(https://fonts.gstatic.com/s/lato/v15/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

a {
  color: #209CEF;
  text-decoration: none;
  text-shadow: 0px 0px 1px rgb(235, 255, 58);
}

* {
  box-sizing: border-box;
}

a:focus,
a:hover {
  color: #f09228;
  text-decoration: none;
}

a.a1 {
  color: #fe6a00e9;
  font-size: 16px;
}

a.a2 {
  color: #000000;
  font-size: 16px;
  text-shadow: none;
}

body,
td,
th,
tr,
p,
a {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 16px;
}

body {
  margin: 0;
  color: #000;
  background: #fff;
  overflow-x: hidden;
}

b,
c {
  color: #000000;
  text-decoration: none;
}

strong {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px;
}

.spacer {
  display: block;
  height: 8px;
}

.heading {
  display: inline-block;
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 25px;
  text-decoration: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-color: #ad7020;
  text-decoration-color: #fba524;
}

.papertitle {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.name {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 28px;
}

.page-table {
  width: 100%;
  max-width: 930px;
  border: 0;
  border-spacing: 0;
  border-collapse: separate;
  margin: 0 auto;
}

.intro-table,
.section-table,
.publication-table,
.education-table {
  width: 100%;
  border: 0;
  border-spacing: 0;
  border-collapse: separate;
  margin: 0 auto;
}

.intro-text {
  padding: 2%;
  width: 64%;
  vertical-align: middle;
}

.photo-cell {
  padding: 0;
  width: 26%;
  max-width: 26%;
  vertical-align: middle;
}

.photo-wrap {
  width: 100%;
  max-width: 90%;
  margin: 0 auto;
  text-align: center;
}

.profile-photo {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 1%;
}

.section-table {
  margin-top: 14px;
}

.section-table td {
  padding: 8px 20px;
}

.publication-table tr {
  border: 0;
}

.publication-table td {
  padding: 20px;
  vertical-align: middle;
}

.education-table td {
  padding: 14px 20px;
  vertical-align: middle;
}

.preview-cell {
  width: 38%;
}

.paper-cell {
  width: 62%;
}

.highlight-row {
  background: #ffffdc;
}

.paper-thumb {
  width: 100%;
  max-width: 325px;
  height: 172px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.paper-thumb img {
  width: 100%;
  max-height: 172px;
  object-fit: contain;
  display: block;
}

.blank-thumb {
  border: 1px solid #eeeeee;
  background: #ffffff;
}

.school-logo-cell {
  width: 20%;
  text-align: center;
}

.education-cell {
  width: 80%;
}

.school-logo {
  width: 120px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

.copy-text {
  color: #fba524;
  cursor: pointer;
  text-decoration: underline;
  font-size: 16px;
}

.copy-text:hover {
  color: #fba524;
}

.copy-success {
  color: #fba524;
  display: none;
  font-size: 16px;
  margin-left: 10px;
}

.highlight {
  background-color: #ffffd0;
}

.self-author {
  color: #000;
  font-size: 16px;
  font-weight: 700;
}

.news-list {
  margin: 10px 0 0 0;
  padding-left: 22px;
}

.news-list li {
  margin-bottom: 7px;
}

.center {
  text-align: center;
}

.justify {
  text-align: justify;
}

.red {
  color: #ff0000;
}

.award {
  color: #ff0000;
  font-weight: 700;
}

.note {
  color: #333;
  font-size: 14px;
}

@media (max-width: 768px) {
  :root {
    --mobile-content-width: min(366px, calc(100vw - 24px));
  }

  body,
  td,
  th,
  tr,
  p,
  a,
  a.a1,
  a.a2,
  .self-author,
  .copy-text,
  .copy-success {
    font-size: 14px;
  }

  .name {
    font-size: 26px;
  }

  .heading {
    font-size: 24px;
  }

  table,
  tbody,
  tr,
  td {
    display: block !important;
    width: 100% !important;
    max-width: var(--mobile-content-width) !important;
    min-width: 0 !important;
  }

  .page-table,
  .intro-table,
  .section-table,
  .publication-table,
  .education-table {
    display: block;
    width: var(--mobile-content-width) !important;
    max-width: var(--mobile-content-width) !important;
    margin-left: 12px;
    margin-right: 0;
    table-layout: fixed;
    overflow: visible;
  }

  .page-table tbody,
  .intro-table tbody,
  .section-table tbody,
  .publication-table tbody,
  .education-table tbody {
    display: block;
    width: 100%;
  }

  .intro-table tr,
  .section-table tr,
  .page-table tr,
  .publication-table tr,
  .education-table tr {
    display: block;
    width: 100%;
  }

  .intro-table td,
  .section-table td,
  .page-table td,
  .publication-table td,
  .education-table td {
    display: block;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  .intro-text,
  .section-table td,
  .publication-table td,
  .education-table td {
    padding-left: 10px;
    padding-right: 10px;
  }

  .photo-cell {
    max-width: 100%;
  }

  .photo-wrap {
    max-width: 260px;
  }

  .paper-thumb {
    width: 100%;
    max-width: 100%;
    height: 150px;
  }

  .paper-thumb img {
    width: auto;
    max-width: 100%;
    max-height: 150px;
  }

  .school-logo-cell {
    text-align: left;
  }

  .school-logo {
    width: 92px;
    margin: 0 0 8px 0;
  }

  .justify {
    text-align: left;
  }

  p,
  li,
  b,
  strong,
  .papertitle {
    overflow-wrap: anywhere !important;
    word-break: break-word;
  }

  a {
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (min-width: 600px) and (max-width: 768px) {
  :root {
    --mobile-content-width: calc(100vw - 40px);
  }

  .page-table,
  .intro-table,
  .section-table,
  .publication-table,
  .education-table {
    margin-left: auto;
    margin-right: auto;
  }
}
