@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);

body {
  padding:50px;
  font:16px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color:#494949;
  font-weight:300;
}

.date {
  float: right;
}

div.y{
  display: inline-block;
  width: 130px;
}
div.u {
  font-weight: bold;
  display: inline-block;
  width: 160px;
}
div.j {
  display: inline-block;
  width: 190px;
}

.abstract {
  padding-top: .25em;
  padding-left: 1em;
  display: none;
}
.joint-with {
  margin-left: 15px;
}
.joint-with a {
  margin-left: 0px;
  color: #555;
}
.joint-with a:hover {
  color: #555;
}
.joint-with a::before {
  display: inline-block;
  content: '▸';
  margin: 0 3px;
  transition: transform 250ms ease-in-out;
}
.joint-with a.active::before {
  transform: rotate(90deg);
}

h1, h2, h3, h4, h5, h6 {
  margin:0 0 20px;
  color: #393939;
}

p, ul, ol, table, pre, dl {
  margin:0 0 20px;
}

h1, h2, h3 {
  line-height:1.1;
}

a {
  color: #2e8ab8;
  text-decoration: none;
}

a:hover {
  color: #069;
}

a small {
  font-size:11px;
  color:#777;
  margin-top:-0.3em;
  display:block;
}

a:hover small {
  color:#777;
}

.wrapper {
  width:900px;
  margin:0 auto;
}

header {
  width:270px;
  float:left;
  position:fixed;
}

header h1 {
  text-align: left;
  margin-bottom: 5px;
}

header h1 a {
  color: #393939;
  font-weight: bold;
  font-size: 32px;
}

header h3 a {
  color: #393939;
}

strong {
  color:#222;
  font-weight:500;
}

section {
  width:600px;
  float:right;
  padding-bottom:50px;
}

section h1 {
  font-size: 28px;
  text-align: center;
}

section h2 {
  margin-top: 20px;
  margin-bottom: 10px;
}

section h3, h4, h5 {
  margin-bottom: 5px;
}

section p {
  text-align: justify;
}

small {
  font-size:11px;
}

hr {
  border:0;
  background:#e5e5e5;
  height:1px;
  margin:0 0 20px;
}

@media print, screen and (max-width: 960px) {

  div.wrapper {
    width:auto;
    margin:0;
  }

  header, section {
    float:none;
    position:static;
    width:auto;
  }

  header {
    padding-right:320px;
  }

  section {
    border-width:1px 0;
    padding:20px 0;
    margin:0 0 20px;
  }

  header a small {
    display:inline;
  }

  header ul {
    position:absolute;
    right:50px;
    top:52px;
  }
}

@media print, screen and (max-width: 720px) {
  body {
    word-wrap:break-word;
  }

  header {
    padding:0;
  }

  header ul, header p.view {
    position:static;
  }
}

@media print, screen and (max-width: 480px) {
  body {
    padding:15px;
  }

  header ul {
    width:99%;
  }

  header li, header ul li + li + li {
    width:33%;
  }
}

@media print {
  body {
    padding:0.4in;
    font-size:12pt;
    color:#444;
  }
}
