/* 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: #1772d0;
    text-decoration: none;
  }
  
  a:focus,
  a:hover {
    color: #f09228;
    text-decoration: none;
  }
  
  body,
  td,
  th,
  tr,
  p,
  a {
    font-family: 'Lato', Verdana, Helvetica, sans-serif;
    font-size: 14px
  }
  
  strong {
    font-family: 'Lato', Verdana, Helvetica, sans-serif;
    font-size: 14px;
  }
  
  heading {
    font-family: 'Lato', Verdana, Helvetica, sans-serif;
    font-size: 22px;
  }
  
  papertitle {
    font-family: 'Lato', Verdana, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700
  }
  
  name {
    font-family: 'Lato', Verdana, Helvetica, sans-serif;
    font-size: 32px;
  }
  
  .one {
    width: 160px;
    height: 160px;
    position: relative;
  }
  
  .two {
    width: 160px;
    height: 160px;
    position: absolute;
    transition: opacity .2s ease-in-out;
    -moz-transition: opacity .2s ease-in-out;
    -webkit-transition: opacity .2s ease-in-out;
  }
  
  .fade {
    transition: opacity .2s ease-in-out;
    -moz-transition: opacity .2s ease-in-out;
    -webkit-transition: opacity .2s ease-in-out;
  }
  
  span.highlight {
    background-color: #ffffd0;
  }

  .co-first-mark {
    font-size: 1em;
    font-weight: 700;
    vertical-align: 0.2em;
    line-height: 0;
    margin-left: 1px;
  }

  .co-first-note {
    font-size: 12px;
    display: inline;
    margin-left: 4px;
  }

  .co-first-note .co-first-mark {
    vertical-align: 0.1em;
    margin-left: 0;
  }

  .paper-desc {
    display: block;
    margin-top: 6px;
    line-height: 1.45;
    font-size: 13px;
    color: #444;
    text-align: justify;
  }

  .paper-list {
    width: 100%;
    border: 0;
    border-spacing: 0 12px;
    border-collapse: separate;
    margin-right: auto;
    margin-left: auto;
  }

  .paper-image-cell {
    padding: 8px;
    width: 35%;
    vertical-align: top;
    text-align: center;
  }

  .paper-text-cell {
    padding: 8px;
    width: 65%;
    vertical-align: top;
  }

  .paper-teaser-link {
    display: block;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }

  .paper-teaser-thumb {
    display: block;
    position: relative;
    line-height: 0;
    width: 100%;
  }

  .paper-teaser-thumb img {
    display: block;
    width: 100%;
    height: auto;
    cursor: zoom-in;
    transition: opacity .2s ease-in-out;
  }

  .paper-teaser-zoom {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    font-size: 28px;
    opacity: 0;
    transition: opacity .2s ease-in-out;
    pointer-events: none;
  }

  .paper-teaser-link:hover .paper-teaser-zoom {
    opacity: 1;
  }

  .paper-teaser-link:hover img {
    opacity: 0.85;
  }

  .image-preview-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    cursor: zoom-out;
  }

  .image-preview-full {
    max-width: 95%;
    max-height: 95%;
    object-fit: contain;
    cursor: default;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  }

  .image-preview-close {
    position: absolute;
    top: 16px;
    right: 24px;
    color: #fff;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
    user-select: none;
  }

  .image-preview-close:hover {
    color: #f09228;
  }
