@import url("/?originalUrl=https%3A%2F%2Ffonts.googleapis.com%2Fcss2%3Ffamily%3DJetBrains%2BMono%3Awght%40800%26family%3DRoboto%3Awght%40300%3B400%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40500%26display%3Dswap");

@import url("/?originalUrl=https%3A%2F%2Ffonts.googleapis.com%2Fcss2%3Ffamily%3DMaterial%2BSymbols%2BOutlined%3Aopsz%2Cwght%2CFILL%2CGRAD%4048%2C100%2C0%2C0");

body {
  display: flex;
  flex-direction: column;
  font-family: Roboto, Arial;
  font-weight: 300;
  font-size: 1.1em;
  max-width: 1500px;
  min-width: 850px;
  color: #071D28;
  border-color: #071D28;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
  margin-bottom: 20px;
}

:target {
  scroll-margin-top: 50px;
}

a, a:visited {
  text-decoration: none;
  color: #1c668c;
}

a:hover {
  color: #c46a27;
}

h1, h2, h3, p {
  padding: 0;
  margin: 0;
  font-size: 1em;
  font-weight: 300;
}

pre {
  padding: 0;
  margin: 0;
  font-size: 1em;
  font-weight: 300;
}

ul {
  margin: 0;
  padding: 0;
}

.madrona-nav-wrapper {
  position: sticky;
  display: flex;
  top: 0;
  z-index: 999;
  width: 100%;
  max-width: 1500px;
  min-width: 800px;
  background-color: #FFFFFF;
}

/* Style the navigation bar */
.madrona-nav {
  display: flex;
  justify-content: space-between;
  flex-grow: 1;
  overflow: hidden;
  background-color: #7ad869;
  border-radius: 15px;
  padding: 0px 20px;
  margin-top: 2px;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 0px;
  box-shadow: 0px 1px 5px -2px #444444;
}

/* Style the navigation bar links */
.madrona-nav a {
  display: flex;
  align-items: center;
}

/* Style the navigation bar logo */
.madrona-nav span.logo {
  font-family: JetBrains Mono, Arial;
  font-weight: 800;
  font-size: 36pt;
  margin: 0px 10px;
  color: #071D28;
}

.madrona-nav a.logo-wrapper:hover {
  filter: opacity(80%);
}

/* Style the navigation bar items */
.madrona-nav-items {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-items: top;
  font-size: 16pt;
  font-weight: 300;
}

.madrona-nav-items a {
  margin: 5px;
  background-color: #89e778;
  border-style: solid;
  border-color: #a5f796;
  border-radius: 15px;
  height: 20px;
  width: 60px;
  padding: 10px;
  display: flex;
  justify-content: center;
}

.madrona-nav-items a.link:hover {
  color: #c46a27;
  background-color: #add97a;
  border-color: #cce9a9;
}

.madrona-nav-items a.gh {
  background-color: #7ad869;
  border-style: none;
  width: 50px;
  padding-left: 0px;
  padding-right: 0px;
  margin-left: 0px;
  margin-right: 0px;
}

.madrona-nav-items a.gh img {
  width: 40px;
}

.madrona-nav-items a.gh:hover img {
  width: 40px;
  filter: opacity(80%);
}

.info-section {
  display: flex;
  flex-direction: column;
  align-items: start;
  margin: 10px 8% 0px 8%;
}

.no-top-margin {
  margin-top: 0px;
}

.content {
  margin-left: 25px;
}

#video {
  margin-top: 4px;
  margin-bottom: 10px;
}

#main-video-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px 8%;
  width: 720px;
  height: 405px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1.75em;
}

#main-video-container video {
  max-width: 100%;
  padding: 0;
  margin: 0;
  width: 720px;
  height: 405px;
}

#main-video-container .replay {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  border: none;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  padding: 18px;
  font-size: 30pt;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 500;
  border-color: #071d28ba;
  border-width: 2px;
  border-style: solid;
}

#main-video-container .replay img {
  width: 25px;
  filter: opacity(70%);
}

#main-video-container .replay:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

.info-section h1 {
  font-family: Roboto, Arial;
  font-weight: 300;
  font-size: 1.5em;
  color: #071D28;
  background-color: #7ad869;
  border-radius: 10px;
  padding: 5px 20px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.info-section h2 {
  font-weight: 400;
  font-size: 1.35em;
  margin-top: 20px;
  margin-bottom: 10px;
}

.info-section h2:first-child {
  margin-top: 0px;
}

.info-section h3 {
  font-weight: 400;
  font-size: 1.25em;
  margin-top: 20px;
  margin-bottom: 10px;
}

.info-section h3:first-child {
  margin-top: 0px;
}

.info-section p {
  line-height: 1.3;
}

.info-section .underline {
  border: 0;
  border-bottom: 1px;
  border-style: solid;
  padding-left: 5px;
  padding-right: 5px;
}

.blurb {
  font-size: 1.1em;
}

.info-section p.detail {
  margin-top: 10px;
  margin-left: 20px;
  margin-right: 20px;
}

.info-section p.detail:first-of-type {
  margin-top: 0px;
}

.small {
  font-size: .85em;
}

.emph {
  font-style: italic;
}

.resources-list {
  margin-top: 5px;
  margin-left: 60px;
  margin-right: 20px;
}

.resources-list li {
  padding-top: 4px;
}

.info-section p.paper-abstract {
  font-size: 0.980em;
}

.paper-block {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  flex-wrap: wrap;
  background-color: #f2f2f2;
  border-radius: 10px;
  padding: 15px 20px 15px 20px;
  margin-top: 15px;
  max-width: 805px;
  margin-left: auto;
  margin-right: auto;
}

.paper-block2 {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  flex-wrap: wrap;
  border-radius: 10px;
  padding: 15px 20px 15px 20px;
  margin-top: 0px;
  max-width: 805px;
  margin-right: auto;
}

.paper-details-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.paper-details {
  padding-left: 10pt;
}

#paper-download {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 'Noto Sans', sans-serif;
  padding-right: 20pt;
}

#paper-download2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 'Noto Sans', sans-serif;
  padding-right: 0pt;
  margin-right: -70px;
}

#paper-download a {
  text-align: center;
  font-weight: 800;
  margin-top: -8px;
}

#paper-download2 a {
  text-align: center;
  font-weight: 800;
  margin-top: -8px;
}

.pdf-download-icon {
  font-size: 80px;
  line-height: 1;
}

.pdf-download-text {
  margin-top: -10px;
}

.paper-title-wrapper {
  margin-bottom: 10px;
}

a.paper-title {
  display: inline-block;
  padding-bottom: 2px;
  font-weight: 900;
  font-size: 1.1em;
  color: #071D28;
}

a.paper-title2 {
  display: inline-block;
  padding-bottom: 2px;
  font-weight: 900;
  font-size: 2.1em;
  color: #071D28;
}

a.paper-title:visited {
  color: #071D28;
}

a.paper-title:hover {
  color: #c46a27;
  border-color: #071D28;
}

.authors {
  margin-left: 10px;
  line-height: 150%;
  padding-bottom: 6px;
}

.authors2 {
  margin-left: 10px;
  padding-top: 12px;
  line-height: 150%;
  padding-bottom: 4px;
  font-size: 19px;
}

.conference {
  margin: 0px;
  margin-top: 5px;
  margin-left: 10px;
}

.citation {
  display: inline-block;
  margin-left: 20px;
  background-color: #EEEEEE;
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 10pt;
}

/* Must come after .madrona-nav-wrapper for precedence to work correctly */
.blog-background {
  background-color: #e7ffe4;
  /*background-color: #FFFFFF;*/
}

.blog {
  margin-left: 5px;
  margin: 0px 8% 0px 8%;
  padding: 0 0 15px 0;
  background-color: #FFFFFF;
  border-radius: 0 0 10px 10px;
}

.blog .title-nav-container {
  display: flex;
  justify-content: space-between;
}

.blog .title {
  display: flex;
  flex-direction: column;
  align-items: start;
  color: #071D28;
}

.blog .title-bg {
  background-color: #a9f09d;
  border-radius: 0 0 10px 10px;
  padding: 15px 20px 15px 20px;
}

.blog .next {
  display: flex;
  flex-direction: column;
  align-items: end;
  color: #071D28;
}

.blog .next-bg {
  background-color: #a9f09d;
  border-radius: 0 0 10px 10px;
  padding: 15px 20px 15px 20px;
}

/* Specifies line break point in blog title */
.blog .title-line {
  display: inline-block;
}

.blog .title h1 {
  font-weight: 400;
  font-size: 1.75em;
}

.blog .next-button p {
  margin-top 5px;
  margin-right: 22px;
}

.blog .title p {
  margin-top: 5px;
  margin-left: 22px;
}

.blog section {
  display: flex;
  flex-direction: column;
  align-items: start;
  margin-top: 10px;
  margin-left: 20px;
  margin-right: 20px;
}

.blog section:first-of-type{
  margin-top: 15px;
}

.blog section h1 {
  font-family: Roboto, Arial;
  font-weight: 300;
  font-size: 1.5em;
  margin-top: 20px;
  margin-bottom: 20px;
}

.blog section h2 {
  font-weight: 400;
  font-size: 1.25em;
  margin-top: 20px;
}

.blog section h2:first-child {
  margin-top: 0px;
}

.blog section h3 {
  font-weight: 400;
  font-size: 1.15em;
  margin-top: 15px;
  margin-bottom: 2px;
}

.blog section h3:first-child {
  margin-top: 0px;
}

.blog section p {
  line-height: 1.3;
  margin-top: 10px;
}

.blog section p:first-of-type {
  margin-top: 0px;
}

.blog ul {
  margin-top: 5px;
  margin-left: 60px;
  margin-right: 20px;
}

.blog li {
  padding-top: 8px;
}

#projects-body section {
  max-width: 1000px;
}

#projects-body {
  align-items: center;
}

#projects-body .content {
  margin-left: 0px;
  width: 100%;
}

#projects-body section.info-section {
  margin-top: 30pt;
  width: 100%;
}

#gpudrive {
  margin-top: 50px;
}

#waymax-vs-gpudrive {
  display: flex;
  flex-direction: row;
}

#waymax-vs-gpudrive p.detail {
  width: 60%;
  margin-top: 10px;
  margin-left: 20px;
  margin-right: 20px;
}

#waymax-vs-gpudrive-img {
  padding-top: 15px;
  width: 40%;
}

#gpudrive h2 {
  padding-bottom: 20px;
}

#gpudrive-videos img {
  display: inline;
  width: 30%;
  max-width: 300px;
}

#gpudrive-videos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-left: auto;
  margin-right: auto;
}

#gpudrive-caption {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

#renderer-caption {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

#gpudrive-caption p {
  font-size: 1.0em;
  width: 80%;
}

#renderer-caption p {
  font-size: 1.0em;
  width: 80%;
}

#renderer-videos {
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  gap: 5px;
}

#competitive-videos {
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  gap: 5px;
}

#competitive-caption {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

#competitive-caption p {
  font-size: 1.0em;
  width: 80%;
}

#hssd-inset {
  display: flex;
  flex-direction: row;
}

#hssd-inset-linebreak {
  line-height: 10px;
}

#hssd-inset p.detail {
  width: 60%;
  margin-top: 10px;
  margin-left: 20px;
  margin-right: 20px;
}

#hssd {
  padding-top: 5px;
  width: 40%;
}

#renderer-additionally {
  padding-top: 5px;
}

#overcooked-videos {
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  gap: 5px;
}

#overcooked-caption {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

#overcooked-caption p {
  font-size: 1.0em;
  width: 80%;
}

@media only screen and (max-width: 480px) {
  .madrona-nav-items {
    font-size: 16pt;
    font-weight: 500;
  }

  .madrona-nav-items a {
    padding: 10px 6px 10px 6px;
  }

  .info-section, .blog {
    margin-left: 2%;
    margin-right: 2%;
  }

  body, p, a.paper-title, .blurb {
    font-size: 1.35em;
  }

  pre, .info-section p.paper-abstract {
    font-size: 1.25em;
  }

  .info-section p, .blog section p {
    line-height: 1.55;
  }

  .info-section h1, .blog section h1 {
    font-size: 1.75em;
  }

  .info-section h2, .blog section h2 {
    font-size: 1.6em;
  }

  .info-section h3, .blog section h3 {
    font-size: 1.5em;
  }

  .resources-list li, .blog li {
    font-size: 1.35em;
    padding-top: 15px;
  }

  .citation {
    font-size: 10pt;
  }

  .blog section {
    margin-top: 15px;
  }
}
