@import url(http://fonts.googleapis.com/css?family=Oxygen:400,300,700);
@import url(http://fonts.googleapis.com/css?family=Roboto+Slab:400,300,700,100);
/* base */
@font-face {
  font-family: 'icomoon';
  src: url('fonts/icomoon.eot?g6z84h');
  src: url('fonts/icomoon.eot?#iefixg6z84h') format('embedded-opentype'), url('fonts/icomoon.woff?g6z84h') format('woff'), url('fonts/icomoon.ttf?g6z84h') format('truetype'), url('fonts/icomoon.svg?g6z84h#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-arrow_down:before {
  content: "\e600";
}
.icon-arrow_left:before {
  content: "\e601";
}
.icon-arrow_right:before {
  content: "\e602";
}
.icon-arrow_up:before {
  content: "\e603";
}
.icon-bikes:before {
  content: "\e604";
}
.icon-books:before {
  content: "\e605";
}
.icon-community:before {
  content: "\e606";
}
.icon-data:before {
  content: "\e607";
}
.icon-desktop:before {
  content: "\e608";
}
.icon-euclid:before {
  content: "\e609";
}
.icon-family_leave:before {
  content: "\e60a";
}
.icon-gear:before {
  content: "\e60b";
}
.icon-hamburger:before {
  content: "\e60c";
}
.icon-info:before {
  content: "\e60d";
}
.icon-jobs:before {
  content: "\e60e";
}
.icon-kayaks:before {
  content: "\e60f";
}
.icon-link:before {
  content: "\e610";
}
.icon-medical:before {
  content: "\e611";
}
.icon-nlp_tools:before {
  content: "\e612";
}
.icon-paper:before {
  content: "\e613";
}
.icon-pdf_figures:before {
  content: "\e614";
}
.icon-piggy_bank:before {
  content: "\e615";
}
.icon-ping-pong:before {
  content: "\e616";
}
.icon-pipeline:before {
  content: "\e617";
}
.icon-plato:before {
  content: "\e618";
}
.icon-press:before {
  content: "\e619";
}
.icon-profile:before {
  content: "\e61a";
}
.icon-projects:before {
  content: "\e61b";
}
.icon-research:before {
  content: "\e61c";
}
.icon-results:before {
  content: "\e61d";
}
.icon-s2:before {
  content: "\e61e";
}
.icon-search_simple:before {
  content: "\e61f";
}
.icon-search:before {
  content: "\e620";
}
.icon-stocked_kitchen:before {
  content: "\e621";
}
.icon-transparent:before {
  content: "\e622";
}
.icon-twitter:before {
  content: "\e623";
}
.icon-vacation:before {
  content: "\e624";
}
.icon-video:before {
  content: "\e625";
}
.icon-visa:before {
  content: "\e626";
}
.icon-why:before {
  content: "\e627";
}
.icon-x:before {
  content: "\e628";
}
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
@media only screen and (min-width: 1300px) {
  .max-width-content {
    max-width: 1200px;
  }
  .max-width-content.paper-page {
    max-width: 940px;
  }
  .max-width-constrained {
    max-width: 720px;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .max-width-content {
    max-width: 980px;
  }
  .max-width-content.paper-page {
    max-width: 940px;
  }
  .max-width-constrained {
    max-width: 588px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .max-width-content {
    max-width: 768px;
  }
  .max-width-constrained {
    max-width: 460px;
  }
}
@media only screen and (max-width: 767px) {
  .max-width-content,
  .max-width-constrained {
    padding: 0 1.5rem;
  }
}
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}
h2 {
  color: #45a9cd;
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
}
.grid > h2,
.grid .group > h2 {
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
/* Flexbox Utilities */
.flex-column,
.flex-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
/* Flex component which doesn't expand or shrink its height / width */
.flex-static {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.flex-centered {
  margin: auto;
}
.flex-right {
  margin-left: auto;
}
.flex-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flex-row-vcenter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.flex-row-hcenter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flex-row-centered {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
/* Generic CSS */
.capitalized-metadata {
  display: block;
  font-size: .7em;
  text-transform: uppercase;
}
.hidden {
  display: none;
}
.max-width-content .text-content {
  margin: 0 auto;
}
.padded-list-element {
  padding: 1rem 0;
}
/* due to legacy CSS issues, we need to override font-size on these selectors */
.search-title,
.articles.group .search-title,
.data .search-title,
.data.paper .search-title {
  font-size: 1.1rem;
}
.text-content {
  max-width: 80ex;
  text-align: left;
}
/* reusable */
body {
  background: #fff;
  color: #525252;
  font-family: 'Oxygen', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
  text-rendering: optimizeLegibility;
}
.wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  padding-top: 100px;
}
.body-content {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
* {
  box-sizing: border-box;
}
a {
  color: #e39a4c;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.button {
  background: #ffffff;
  border: 2px solid #45a9cd;
  color: #45a9cd;
  display: inline-block;
  font-weight: 600;
  padding: .6rem 2rem;
  text-transform: uppercase;
}
.button,
.button:hover {
  text-decoration: none;
}
.button.button--inline {
  margin: 1rem 2rem 0;
}
.button.orange {
  border: 2px solid #e39a4c;
  color: #e39a4c;
}
.button.orange:hover {
  background: #e39a4c;
  color: #ffffff;
}
.button.yellow {
  border: 2px solid #fdea65;
  color: #fdea65;
}
.button.yellow:hover {
  background: #fdea65;
  color: #ffffff;
}
.button.transparent {
  background: transparent !important;
}
.button.white {
  background: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
}
.button.white:hover {
  background: #ffffff;
  color: #144664;
}
.button.ghost {
  background: transparent;
}
.button.disabled {
  border: 2px solid #b4b4b4;
  color: #b4b4b4;
}
.button.disabled:hover {
  background: #ffffff;
  color: #b4b4b4;
  cursor: default;
}
.button.small {
  padding: .3rem 1rem;
  font-size: 0.9rem;
}
.button:hover {
  background: #45a9cd;
  color: #ffffff;
}
.badge {
  background: #e39a4c;
  border-radius: 1rem;
  color: #ffffff;
  font-size: .62rem;
  margin: .1rem 0 auto auto;
  padding: .2rem .4rem;
}
.max-width-content,
.max-width-constrained {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.body-content {
  background: #ffffff;
}
.content {
  margin: 2rem 0;
}
.content-last {
  margin: 2rem 0 0;
}
.group:after {
  content: "";
  display: table;
  clear: both;
}
.padding {
  padding: 2rem;
}
.hidden {
  display: none;
}
/* Page Moved Message Styles */
.page-moved-message {
  padding: 1.5rem 0;
  text-align: left;
  max-width: 80ex;
}
.page-moved-message .button {
  margin-top: 0.8rem;
}
@media only screen and (max-width: 767px) {
  body .content {
    margin: 1.5rem 0;
  }
  body .content.content-last {
    margin-bottom: 0;
  }
  body .wrapper {
    padding-top: 0;
    background: #1d303c;
  }
  body .body-content {
    padding-top: 57px;
  }
  body footer,
  body .body-content,
  body nav,
  body .header-wrapper {
    -webkit-transition: -webkit-transform .3s;
            transition: transform .3s;
  }
  body.open footer,
  body.open .body-content,
  body.open .header-wrapper {
    transform: translate3d(-220px, 0, 0);
    -webkit-transform: translate3d(-220px, 0, 0);
    -moz-transform: translate3d(-220px, 0, 0);
    -ms-transform: translate3d(-220px, 0, 0);
    -o-transform: translate3d(-220px, 0, 0);
  }
  body.open nav {
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  .button {
    transition: all 0s linear;
    -webkit-transition: all 0s linear;
    -moz-transition: all 0s linear;
    -ms-transition: all 0s linear;
    -o-transition: all 0s linear;
  }
}
.data-columns {
  text-align: left;
}
.data-columns .main-column {
  border-left: 1px solid #dddddd;
  float: left;
  padding: 0 0 0 2.5rem;
  width: 1000px;
}
.data-columns .main-column .controls {
  border-bottom: 1px solid #dddddd;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
}
.data-columns .main-column .controls h3 {
  font-weight: 600;
}
.data-columns .main-column .twitter {
  float: right;
  margin-left: auto;
}
.data-columns .main-column h4 {
  font-size: 1.2em;
  margin-bottom: .4rem;
}
.data-columns .side-column {
  float: left;
  width: 200px;
}
.data-columns .side-column h3 {
  border-top: 1px solid #dddddd;
  color: #b4b4b4;
  font-size: .9em;
  margin: 1.5rem 0 .6rem;
  padding: 1.5rem 1rem 0;
}
.data-columns .side-column nav {
  list-style: none;
}
.data-columns .side-column nav li {
  margin: 0;
}
.data-columns .side-column nav li a {
  color: #2172a4;
  display: block;
  font-size: .9em;
  padding: .5rem 1rem;
  text-decoration: none;
}
.data-columns .side-column nav li a:hover {
  background: #f2f2f2;
}
.data-columns .side-column nav li a.selected {
  background: #525252;
  color: #ffffff;
}
.data-columns .side-column nav li a span {
  margin-right: 3px;
  vertical-align: middle;
}
.data-columns .side-column nav.filter li {
  clear: left;
  cursor: pointer;
  display: block;
  margin-left: 1rem;
  padding: .35rem 0;
  position: relative;
}
.data-columns .side-column nav.filter li span {
  background: #ffffff;
  border: 1px solid #2172a4;
  border-radius: 50%;
  display: block;
  height: 16px;
  position: absolute;
  top: .65rem;
  width: 16px;
}
.data-columns .side-column nav.filter li label {
  cursor: pointer;
  display: inline-block;
  font-size: .9rem;
  margin: 0 .6rem 0 24px;
}
.data-columns .side-column nav.filter li:hover span {
  background: #a4d1ed;
}
.data-columns .side-column nav.filter li.selected span {
  background: #2172a4;
}
.data {
  border-bottom: 1px solid #dddddd;
  font-size: .85em;
  margin: 0 0 25px;
  padding: 0 0 25px;
  text-align: left;
  width: 100%;
}
.data .flex-row {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.data .flex-row .badge {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-left: .5rem;
}
.data.video {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.data.video img {
  max-width: 480px;
}
.data i {
  font-style: italic;
}
.data .meta {
  margin: 3px 0;
}
.data .video-meta {
  margin-right: 1.5rem;
  width: 100%;
}
.data em {
  color: #b4b4b4;
}
.data em:nth-child(1) {
  color: #525252;
  font-weight: 600;
}
.data em:after {
  color: #b4b4b4;
  content: ' • ';
  font-weight: 300;
}
.data em:last-child:after {
  content: '';
}
.data a {
  font-size: 1em;
}
.data strong {
  display: block;
  font-weight: 600;
  margin: 5px 0 0;
}
.data p {
  margin: 0;
}
.data .abstract p,
.data .truncated-text p {
  cursor: pointer;
  display: none;
}
.data .abstract p span,
.data .truncated-text p span {
  color: #2172a4;
}
.data .abstract p:before,
.data .truncated-text p:before {
  content: 'Abstract: ';
}
.data .abstract.trimmed p:first-child,
.data .truncated-text.trimmed p:first-child {
  display: none;
}
.data .abstract.trimmed p:last-child,
.data .truncated-text.trimmed p:last-child {
  display: block;
}
.data .abstract.trimmed.full p:first-child,
.data .truncated-text.trimmed.full p:first-child {
  display: block;
}
.data .abstract.trimmed.full p:last-child,
.data .truncated-text.trimmed.full p:last-child {
  display: none;
}
.data.last,
.data:last-child {
  border-bottom: 0;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .data-columns .main-column {
    width: 780px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .data-columns .main-column {
    width: 600px;
  }
  .data-columns .main-column .data.video {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .data-columns .main-column .meta {
    margin: 3px 0;
  }
  .data-columns .main-column .video-meta {
    margin-right: 0;
  }
  .data-columns .side-column {
    width: 168px;
  }
}
@media only screen and (max-width: 767px) {
  .data-columns .main-column {
    border: 0;
    padding: 0;
    width: 100%;
  }
  .data-columns .main-column .twitter {
    border-bottom: 1px solid #dddddd;
    float: none;
    margin: -0.5rem -1.5rem 1rem;
    padding: 0 1.5rem 1rem;
  }
  .data-columns .main-column .twitter span.icon-twitter {
    font-size: 2.5rem;
    margin-right: 1rem;
  }
  .data-columns .main-column .twitter:after {
    content: "\e602";
    color: #dddddd;
    font-family: 'icomoon';
  }
  .data-columns .main-column .data.video {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .data-columns .main-column .meta {
    margin: 3px 0;
  }
  .data-columns .main-column .video-meta {
    margin-right: 0;
  }
  .data-columns .main-column li iframe {
    width: 100%;
  }
  .data-columns .side-column {
    display: none;
  }
  .data.video img {
    width: 100%;
  }
}
/*
  Filters

  This approach requires manually creating classes for each filter which is cumbersome.

  That said it's the "best" approach for now as it ensures that the filter action is as performant
  as possible.   Using either hide() / show() per element toggles the style attribute of each
  element individually, while this approach applies a the change in a "batched" manner.

  Long term we can replace this with a more react-ive solution!
*/
.filter-column {
  visibility: hidden;
}
.filter-column.is-visible {
  visibility: visible;
}
.filter-aristo li:not(.aristo) {
  display: none;
}
.filter-s2 li:not(.s2) {
  display: none;
}
.filter-plato li:not(.plato) {
  display: none;
}
.filter-euclid li:not(.euclid) {
  display: none;
}
.filter-upcoming-paper .upcoming-paper {
  display: block;
}
.filter-upcoming-paper li:not(.upcoming-paper) {
  display: none;
}
.filter-upcoming-paper li.upcoming-paper-message {
  display: block;
}
.filter-members li:not(.members) {
  display: none;
}
.filter-visiting li:not(.visiting) {
  display: none;
}
.filter-distinguished li:not(.distinguished) {
  display: none;
}
.filter-oren li:not(.oren) {
  display: none;
}
.grid {
  background: url(images/pattern.png?cb=1473768022043);
  padding: 5rem 0;
}
.grid h2 {
  margin: 1.5rem 0;
}
.grid h2:first-of-type {
  margin-top: 0;
}
.grid .grid-wrapper {
  background: #ffffff;
  margin: 1rem 0 0;
  padding: 3.5rem;
  /* only use margin for spacing apart grid-wrappers if there is more than one grid-wrapper */
}
.grid .grid-wrapper p {
  margin: auto;
  text-align: left;
}
.grid .grid-wrapper p.center {
  text-align: center;
}
.grid .grid-wrapper:first-of-type {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .grid {
    padding: 1.5rem 0;
  }
  .grid .grid-wrapper {
    padding: 1.5rem;
  }
}
header {
  background: rgba(255, 255, 255, 0.98);
  border-top: 2px solid #fcb431;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  height: 100px;
  position: fixed;
  text-align: left;
  width: 100%;
  top: 0;
  z-index: 3;
}
header .hamburger {
  border: 0;
  color: #45a9cd;
  cursor: pointer;
  display: none;
  font-size: .8em;
  font-weight: 600;
  right: 0;
  padding: 1.2rem .8rem;
  position: absolute;
}
header .hamburger .icon-hamburger {
  display: inline-block;
  font-size: 1.25em;
  margin-left: 3px;
  vertical-align: text-bottom;
}
header nav {
  float: right;
  -webkit-overflow-scrolling: touch;
}
header nav ul {
  list-style: none;
  padding: 0;
}
header nav li {
  display: inline-block;
  position: relative;
  vertical-align: top;
}
header nav li span.top-level {
  cursor: default;
}
header nav li .top-level {
  color: #2172a4;
  display: block;
  padding: 2.1rem .6rem 1.5rem;
  text-align: center;
  text-decoration: none;
}
header nav li .top-level .icon-arrow_down {
  color: #b5deff;
  display: block;
  font-size: .7em;
  margin: 2px auto;
  opacity: 1;
  transform: translateY(0);
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transition: all 0.3s linear;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
}
header nav li .top-level.icon-search_simple {
  color: #e39a4c;
  font-size: 1em;
  line-height: 1.5;
}
header nav li a.top-level:hover {
  color: #45a9cd;
}
header nav li.menu-home {
  display: none;
}
header nav li .pointer_up {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #45a9cd;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  top: -10px;
}
header nav li > ul {
  background: url(images/dropdown.png?cb=1473768022043) #1d303c no-repeat;
  background-size: cover;
  border-top: 5px solid #45a9cd;
  left: 50%;
  opacity: 0;
  padding: 1.5rem 0;
  position: absolute;
  text-align: left;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transition: opacity 0.15s linear;
  -webkit-transition: opacity 0.15s linear;
  -moz-transition: opacity 0.15s linear;
  -ms-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  top: -999px;
  white-space: nowrap;
}
header nav li > ul li {
  display: block;
}
header nav li > ul li a {
  color: #ffffff;
  display: block;
  font-weight: 400;
  padding: .4rem 3rem .4rem 2.2rem;
  text-align: left;
  text-decoration: none;
  text-transform: none;
}
header nav li > ul li a:hover {
  color: #e39a4c;
}
header nav li > ul li.labeled-menu-item a {
  padding: 0;
}
header nav li > ul li.labeled-menu-item a:hover .menu-item-label {
  color: #e39a4c;
}
header nav li > ul li.labeled-menu-item .menu-item-name {
  display: block;
  line-height: 1;
  padding: .6rem 3rem 0 2.2rem;
}
header nav li > ul li.labeled-menu-item .menu-item-label {
  color: #b4b4b4;
  display: block;
  font-size: 0.8rem;
  padding: 0 3rem .4rem 2.2rem;
  text-align: left;
}
header nav li.active .icon-arrow_down {
  opacity: 0;
  transform: translateY(10px);
  -webkit-transform: translateY(10px);
  -moz-transform: translateY(10px);
  -ms-transform: translateY(10px);
  -o-transform: translateY(10px);
}
header nav li.active > ul {
  opacity: 1;
  top: 70px;
}
header .logo {
  float: left;
}
header .logo img {
  margin-top: .5rem;
  width: 360px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  header .logo img {
    margin-top: 1rem;
    width: 300px;
  }
  header nav {
    font-size: .9em;
  }
  header nav .top-level {
    padding: 2rem .5rem 1.5rem;
  }
  header nav li a {
    padding: 2rem .3rem;
  }
}
@media only screen and (max-width: 767px) {
  header {
    height: auto;
  }
  header,
  header .max-width-content {
    position: static;
  }
  header .header-wrapper {
    background: rgba(255, 255, 255, 0.98);
    border-top: 2px solid #fcb431;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
    height: 60px;
    position: fixed;
    text-align: left;
    width: 100%;
    top: 0;
    z-index: 3;
    left: 0;
  }
  header .logo img {
    width: 200px;
    margin: .5rem 0 0 .5rem;
  }
  header .hamburger {
    display: block;
  }
  header nav {
    position: fixed;
    right: 0;
    transform: translate3d(220px, 0, 0);
    -webkit-transform: translate3d(220px, 0, 0);
    -moz-transform: translate3d(220px, 0, 0);
    -ms-transform: translate3d(220px, 0, 0);
    -o-transform: translate3d(220px, 0, 0);
    width: 220px;
    overflow: auto;
    height: 100%;
  }
  header nav ul > li {
    background: #1d303c;
  }
  header nav li {
    display: block;
  }
  header nav li .top-level {
    border-top: 1px solid #144664;
    color: #ffffff;
    padding: .75rem 1.5rem;
    text-align: left;
    text-transform: none;
  }
  header nav li .top-level .icon-arrow_down {
    display: none;
  }
  header nav li .top-level.icon-search_simple {
    display: none;
  }
  header nav li span.top-level {
    color: gray;
    font-size: .75em;
    font-weight: 300;
    padding-bottom: 0;
    text-transform: uppercase;
  }
  header nav li .pointer_up {
    display: none;
  }
  header nav li > ul {
    background: none;
    border: 0;
    display: block;
    opacity: 1;
    padding: .3rem 0 .6rem;
    position: relative;
    top: 0;
  }
  header nav li > ul li a {
    padding: .75rem 1.5rem;
  }
  header nav li.active > ul {
    opacity: 1;
    top: 0;
  }
  .open header nav li .icon-x {
    display: block;
  }
}
.info-box {
  background: #ffffff;
  margin-top: 2rem;
}
.info-box .info-box-content {
  padding: 1.5rem;
}
.info-box .glassdoor-banner {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #eee;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9rem;
  font-weight: bold;
  padding: 1rem 1.5rem;
  text-align: left;
}
.info-box .glassdoor-banner .button {
  margin: 0 0 0 auto;
}
.info-box h3 {
  background: #f2f6f8;
  border-bottom: 1px solid #eee;
  font-size: 1.5rem;
  margin-bottom: 0;
  padding: 1.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #1d303c;
}
.info-box h3 span {
  color: #45a9cd;
  display: block;
  font-size: 3.5rem;
  margin-bottom: .3rem;
  vertical-align: sub;
}
.info-box p {
  margin: 0 0 1.5rem;
  padding: 0 1.5rem;
  text-align: left;
  width: auto;
}
.info-box h4 {
  margin: 1.5rem;
  color: #45a9cd;
  text-align: center;
}
.info-box a.button {
  margin: auto auto 1.5rem;
}
.info-box ul {
  padding: .5rem 7%;
  text-align: left;
}
.info-box ul li {
  position: relative;
  margin: 1.25rem 0;
  padding: 0 0 0 3rem;
}
.info-box ul li .badge {
  position: absolute;
  top: 0;
  left: 0;
}
.info-box--photo-card h3 {
  color: #45a9cd;
}
@media only screen and (max-width: 1023px) {
  .info-box {
    display: block;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    width: auto;
  }
  .info-box img {
    margin: 0 0 .3rem;
  }
  .info-box strong {
    display: block;
    text-align: center;
  }
  .info-box p {
    padding: 0;
    text-align: center;
  }
  .info-box:last-child {
    margin-bottom: 0;
  }
  .info-box .glassdoor-banner {
    display: block;
    text-align: center;
  }
  .info-box .glassdoor-banner .button {
    display: block;
    margin: 0.5rem auto 0;
    max-width: 200px;
  }
}
.info-section {
  background: #144664;
  padding: 5rem 0;
}
.info-section p {
  margin: 1rem auto 2rem;
  width: 80%;
}
.info-section h2 {
  color: #ffffff;
}
.info-section .text {
  text-align: left;
  margin: 1rem;
}
.info-section__intro {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 2rem;
  color: #ffffff;
}
.info-section__intro p {
  margin-bottom: 1rem;
}
.info-section__intro__column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.info-section__intro__cta {
  white-space: nowrap;
}
.info-section--jobs-intro {
  background: url(images/jobs-background.jpg?cb=1473768022043) no-repeat 50% 0;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .info-section__intro {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    text-align: left;
  }
  .info-section__intro__cta {
    margin-left: 2rem;
  }
}
@media only screen and (max-width: 1023px) {
  .info-section {
    padding: 1.5rem 0;
  }
  .info-section p {
    width: 85%;
  }
}
.info-columns {
  background: #144664;
  padding: 5rem 0;
}
.info-columns p {
  margin: 1rem auto 2rem;
  width: 80%;
}
.info-columns h2 {
  color: #ffffff;
}
.info-columns .text {
  text-align: left;
  margin: 1rem;
}
.info-columns__intro {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 2rem;
  color: #ffffff;
}
.info-columns__intro p {
  margin-bottom: 1rem;
}
.info-columns__intro__column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.info-columns__intro__cta {
  white-space: nowrap;
}
.info-columns--jobs-intro {
  background: url(images/jobs-background.jpg?cb=1473768022043) no-repeat 50% 0;
  background-size: cover;
}
.info-columns ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.info-columns ul li {
  background: #ffffff;
  margin-top: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0.75rem;
}
.info-columns ul li .info-box-content {
  padding: 1.5rem;
}
.info-columns ul li .glassdoor-banner {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #eee;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9rem;
  font-weight: bold;
  padding: 1rem 1.5rem;
  text-align: left;
}
.info-columns ul li .glassdoor-banner .button {
  margin: 0 0 0 auto;
}
.info-columns ul li h3 {
  background: #f2f6f8;
  border-bottom: 1px solid #eee;
  font-size: 1.5rem;
  margin-bottom: 0;
  padding: 1.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #1d303c;
}
.info-columns ul li h3 span {
  color: #45a9cd;
  display: block;
  font-size: 3.5rem;
  margin-bottom: .3rem;
  vertical-align: sub;
}
.info-columns ul li p {
  margin: 0 0 1.5rem;
  padding: 0 1.5rem;
  text-align: left;
  width: auto;
}
.info-columns ul li h4 {
  margin: 1.5rem;
  color: #45a9cd;
  text-align: center;
}
.info-columns ul li a.button {
  margin: auto auto 1.5rem;
}
.info-columns ul li ul {
  padding: .5rem 7%;
  text-align: left;
}
.info-columns ul li ul li {
  position: relative;
  margin: 1.25rem 0;
  padding: 0 0 0 3rem;
}
.info-columns ul li ul li .badge {
  position: absolute;
  top: 0;
  left: 0;
}
.info-columns ul li--photo-card h3 {
  color: #45a9cd;
}
.info-columns--photo-cards {
  background-color: #f2f6f8;
}
.info-columns--photo-cards h2,
.info-columns--photo-cards div ul li h3 {
  color: #45a9cd;
}
.info-columns--photo-cards p {
  margin-top: 2rem;
  margin-bottom: 0;
}
.info-columns--photo-cards div ul li {
  padding: 0;
}
.info-columns--photo-cards div ul li .photo-card__content {
  padding: 1.5rem;
}
.info-columns--photo-cards div ul li img {
  width: 100%;
}
.info-columns--photo-cards div ul li h3 {
  background: transparent;
  font-size: 1.25rem;
  margin: 0;
  padding: 0;
  text-align: left;
}
.info-columns--photo-cards div ul li p {
  padding: 0;
}
.info-columns--photo-cards div ul li p:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 1023px) {
  .info-columns {
    padding: 1.5rem 0 0;
  }
  .info-columns ul {
    display: block;
  }
  .info-columns ul li {
    margin: 0 0 1.5rem;
  }
}
footer {
  background: url(images/footer.jpg?cb=1473768022043) #1d303c no-repeat;
  background-size: cover;
  color: #ffffff;
  padding: 6rem 1.5rem 3rem;
}
footer .info {
  color: #b4b4b4;
  font-size: .8em;
  margin-top: 2.5rem;
}
footer .info .logo {
  background: url(images/logo_footer.png?cb=1473768022043) no-repeat;
  background-size: cover;
  height: 68px;
  margin: 1.5rem auto;
  width: 90px;
}
footer a {
  color: #ffffff;
  text-decoration: none;
}
footer a:hover {
  color: #e39a4c;
}
footer p {
  color: #b4b4b4;
}
footer p span {
  color: #ffffff;
}
footer p span.icon-twitter {
  color: #b4b4b4;
}
@media only screen and (min-width: 1300px) {
  footer .max-width-content {
    max-width: 980px;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    padding-top: 3rem;
  }
  footer .max-width-content {
    max-width: 80%;
  }
  footer .column {
    display: none;
    text-align: center;
  }
  footer .column:last-child {
    display: block;
    width: 100%;
  }
  footer .info {
    margin-top: .6rem;
  }
}
.modal-container {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.modal-container .icon-x {
  background: #000000;
  border-radius: 50%;
  color: #ffffff;
  cursor: pointer;
  font-size: 2rem;
  padding: 10px;
  position: fixed;
  right: 1.2rem;
  transform: scale(0, 0);
  -webkit-transform: scale(0, 0);
  -moz-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transition: transform 0.3s cubic-bezier(0, 0.7, 0.3, 1);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.7, 0.3, 1);
  -ms-transition: -ms-transform 0.3s cubic-bezier(0, 0.7, 0.3, 1);
  -o-transition: -o-transform 0.3s cubic-bezier(0, 0.7, 0.3, 1);
  top: 1.2rem;
  z-index: 4;
}
.modal-container .modal-overlay {
  background: rgba(0, 0, 0, 0.8);
  height: 0;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 3;
}
.modal-container .modal {
  background: #ffffff;
  display: none;
  left: 50%;
  position: fixed;
  top: 50%;
  z-index: 4;
  height: 0;
  overflow: hidden;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  width: 500px;
}
.modal-container .modal iframe {
  display: none;
  height: 100%;
  width: 100%;
}
.modal-container .modal h3 {
  background: #f2f2f2;
  font-size: 1.3rem;
  font-weight: 600;
  margin: -2rem -2rem 1.5rem;
  padding: 1.5rem;
}
.modal-container .modal p {
  margin: 0 0 1rem;
}
.modal-container .modal label {
  color: #b4b4b4;
  display: block;
  font-size: .8rem;
  margin: 0 0 .2rem;
}
.modal-container .modal input[type="email"] {
  margin: 0 0 1rem;
  width: 100%;
}
.modal-container.open {
  display: block !important;
  overflow: visible;
  z-index: 99;
}
.modal-container.open .icon-x {
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
}
.modal-container.open .modal-overlay {
  height: 100%;
  -webkit-animation: fade-in-modal-overlay 0.25s cubic-bezier(0, 0.7, 0.3, 1) 1 forwards;
  animation: fade-in-modal-overlay 0.25s cubic-bezier(0, 0.7, 0.3, 1) 1 forwards;
}
@-webkit-keyframes fade-in-modal-overlay {
  0% {
    transform: scale(0, 0);
    -webkit-transform: scale(0, 0);
    -moz-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    -o-transform: scale(0, 0);
  }
  100% {
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
  }
}
@keyframes fade-in-modal-overlay {
  0% {
    transform: scale(0, 0);
    -webkit-transform: scale(0, 0);
    -moz-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    -o-transform: scale(0, 0);
  }
  100% {
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
  }
}
.modal-container.open .modal {
  display: block;
  height: auto;
}
.modal-container.open .modal iframe {
  display: block;
}
.modal-container.open .modal-intro {
  display: none;
}
@media only screen and (max-width: 767px) {
  .modal-container .modal {
    padding: 1.5rem;
    width: 75%;
  }
}
.page-columns {
  margin: 0;
  padding: 2.5rem 0;
  text-align: left;
}
.page-columns .main-column {
  float: left;
  padding-right: 2.5rem;
  width: 840px;
}
.page-columns .main-column h3 {
  color: #45a9cd;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: .6rem;
}
.page-columns .main-column p {
  margin-bottom: 1.5rem;
}
.page-columns .main-column ul.bullets {
  margin: 1rem 0 2rem 2rem;
}
.page-columns .main-column ul.bullets li {
  list-style: initial;
}
.page-columns .main-column h4 {
  font-size: 1.1rem;
  font-weight: 600;
}
.page-columns .side-column {
  float: right;
  width: 360px;
}
.page-columns .side-column .column-box {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #dddddd;
  margin-bottom: 2rem;
  padding: 2rem;
}
.page-columns .side-column .column-box.side-menu p {
  margin: 1.5rem 0 1rem;
}
.page-columns .side-column .column-box.side-menu ul li {
  position: relative;
  padding-left: 1.5rem;
}
.page-columns .side-column .column-box.side-menu ul li::before {
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  position: absolute;
  left: .5rem;
}
.page-columns .side-column img {
  margin: 1rem 0 0;
  width: 100%;
}
.page-columns .side-column h3 {
  font-weight: 600;
  color: #45a9cd;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.page-columns .side-column p {
  font-size: .9em;
  margin-bottom: 1.5rem;
}
.page-columns .side-column p.no-bottom-padding {
  margin-bottom: 0;
}
.page-columns .side-column li {
  margin-bottom: .6rem;
}
.page-columns .side-column li:before {
  color: #b4b4b4;
  content: '\203A';
  margin-right: 5px;
}
.page-columns .side-column li a {
  font-weight: 600;
}
.page-columns .side-column.fixed {
  position: fixed;
  top: 140px;
  margin-left: 840px;
  width: 360px;
}
.page-columns .side-column.fixed.absolute {
  position: absolute;
  top: auto;
  bottom: 0;
}
@media only screen and (min-width: 1300px) {
  .page-columns .main-column {
    width: 840px;
  }
  .page-columns .side-column {
    width: 360px;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .page-columns .main-column {
    width: 670px;
  }
  .page-columns .side-column {
    width: 310px;
  }
  .page-columns .side-column.fixed {
    margin-left: 680px;
    width: 310px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page-columns .main-column {
    width: 458px;
  }
  .page-columns .side-column {
    width: 310px;
  }
  .page-columns .side-column.fixed {
    margin-left: 458px;
    width: 310px;
  }
}
@media only screen and (max-width: 767px) {
  .page-columns {
    padding: 0;
  }
  .page-columns .main-column,
  .page-columns .side-column {
    float: none;
    margin: 0 0 1.5rem;
    width: 100%;
  }
  .page-columns .main-column.fixed,
  .page-columns .side-column.fixed {
    margin-left: 0;
    position: relative;
    top: 0;
    width: 100%;
  }
  .page-columns .side-column {
    padding: 1.5rem 1rem;
  }
  .page-columns .side-column a {
    font-size: .9rem;
  }
  .page-columns .main-column {
    padding: 0;
  }
}
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
  Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none;
}
.pswp * {
  box-sizing: border-box;
}
.pswp img {
  max-width: none;
}
/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp--open {
  display: block;
}
.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}
.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}
.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}
/*
  Background is added as a separate element.
  As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}
.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none;
}
.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}
.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
  -webkit-transition: opacity 0.15s;
  transition: opacity 0.15s;
}
/*
  stretched thumbnail or div placeholder element (see below)
  style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}
/*
  div element that matches size of large image
  large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222;
}
.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}
/*
  Error message appears when image is not loaded
  (JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC;
}
.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline;
}
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

  Contents:

  1. Buttons
  2. Share modal and links
  3. Index indicator ("1 of X" counter)
  4. Caption
  5. Loading indicator
  6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*
  
  1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  box-shadow: none;
}
.pswp__button:focus,
.pswp__button:hover {
  opacity: 1;
}
.pswp__button:active {
  outline: none;
  opacity: 0.9;
}
.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}
.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(images/default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px;
}
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(images/default-skin.svg);
  }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none;
  }
}
.pswp__button--close {
  background-position: 0 -44px;
}
.pswp__button--share {
  background-position: -44px -44px;
}
.pswp__button--fs {
  display: none;
}
.pswp--supports-fs .pswp__button--fs {
  display: block;
}
.pswp--fs .pswp__button--fs {
  background-position: -44px 0;
}
.pswp__button--zoom {
  display: none;
  background-position: -88px 0;
}
.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}
.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0;
}
/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}
/*
  Arrow buttons hit area
  (icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}
.pswp__button--arrow--left {
  left: 0;
}
.pswp__button--arrow--right {
  right: 0;
}
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute;
}
.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px;
}
.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px;
}
/*

  2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}
.pswp__share-modal--hidden {
  display: none;
}
.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
  -ms-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}
.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000;
}
.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}
.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}
.pswp__share-modal--fade-in {
  opacity: 1;
}
.pswp__share-modal--fade-in .pswp__share-tooltip {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}
a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}
a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF;
}
a.pswp__share--facebook:hover:before {
  border-bottom-color: #3E5C9A;
}
a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF;
}
a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D;
}
a.pswp__share--download:hover {
  background: #DDD;
}
/*

  3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px;
}
/*
  
  4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}
.pswp__caption small {
  font-size: 11px;
  color: #BBB;
}
.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC;
}
.pswp__caption--empty {
  display: none;
}
/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}
/*

  5. Loading indicator (preloader)

  You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}
.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}
.pswp__preloader--active {
  opacity: 1;
}
.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(images/preloader.gif) 0 0 no-repeat;
}
.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}
.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}
.pswp--css_animation .pswp__preloader__cut {
  /* 
      The idea of animating inner circle is based on Polymer ("material") loading indicator 
       by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
    */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}
.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}
@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}
@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
/*
  
  6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}
/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}
.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}
.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5);
}
/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3);
}
/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}
/*
  pswp__ui--hidden class is added when controls are hidden
  e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}
/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}
.pswp__element--disabled {
  display: none !important;
}
.pswp--minimal--dark .pswp__top-bar {
  background: none;
}
.charades-project-page h3,
.diagram-understanding-project-page h3,
.figureseer-project-page h3,
.forces-project-page h3,
.newtonian-project-page h3,
.diagram-understanding-project-page h3,
.xnornet-project-page h3 {
  margin-top: 1rem;
}
.charades-project-page #data-grid .abstract p,
.diagram-understanding-project-page #data-grid .abstract p,
.figureseer-project-page #data-grid .abstract p,
.forces-project-page #data-grid .abstract p,
.newtonian-project-page #data-grid .abstract p,
.diagram-understanding-project-page #data-grid .abstract p,
.xnornet-project-page #data-grid .abstract p {
  margin: 0;
}
.charades-project-page #data-grid li:last-child,
.diagram-understanding-project-page #data-grid li:last-child,
.figureseer-project-page #data-grid li:last-child,
.forces-project-page #data-grid li:last-child,
.newtonian-project-page #data-grid li:last-child,
.diagram-understanding-project-page #data-grid li:last-child,
.xnornet-project-page #data-grid li:last-child {
  margin-bottom: 0;
}
.charades-project-page .project-intro,
.diagram-understanding-project-page .project-intro,
.figureseer-project-page .project-intro,
.forces-project-page .project-intro,
.newtonian-project-page .project-intro,
.diagram-understanding-project-page .project-intro,
.xnornet-project-page .project-intro {
  background: url(images/projects/aristo_background.jpg?cb=1473768022043) 50% #1d303c;
}
.charades-project-page .project-intro h1,
.diagram-understanding-project-page .project-intro h1,
.figureseer-project-page .project-intro h1,
.forces-project-page .project-intro h1,
.newtonian-project-page .project-intro h1,
.diagram-understanding-project-page .project-intro h1,
.xnornet-project-page .project-intro h1 {
  color: #fff;
  size: 50pt;
}
.charades-project-page .text-content,
.diagram-understanding-project-page .text-content,
.figureseer-project-page .text-content,
.forces-project-page .text-content,
.newtonian-project-page .text-content,
.diagram-understanding-project-page .text-content,
.xnornet-project-page .text-content {
  padding: 2rem;
}
.charades-project-page .text-content h4,
.diagram-understanding-project-page .text-content h4,
.figureseer-project-page .text-content h4,
.forces-project-page .text-content h4,
.newtonian-project-page .text-content h4,
.diagram-understanding-project-page .text-content h4,
.xnornet-project-page .text-content h4 {
  margin-bottom: 1rem;
}
.charades-project-page .text-content .flex-row-vcenter h4,
.diagram-understanding-project-page .text-content .flex-row-vcenter h4,
.figureseer-project-page .text-content .flex-row-vcenter h4,
.forces-project-page .text-content .flex-row-vcenter h4,
.newtonian-project-page .text-content .flex-row-vcenter h4,
.diagram-understanding-project-page .text-content .flex-row-vcenter h4,
.xnornet-project-page .text-content .flex-row-vcenter h4 {
  margin-bottom: 0;
}
.charades-project-page .text-content .preformatted-snippet,
.diagram-understanding-project-page .text-content .preformatted-snippet,
.figureseer-project-page .text-content .preformatted-snippet,
.forces-project-page .text-content .preformatted-snippet,
.newtonian-project-page .text-content .preformatted-snippet,
.diagram-understanding-project-page .text-content .preformatted-snippet,
.xnornet-project-page .text-content .preformatted-snippet {
  border: 1px #dddddd solid;
  margin: 1rem 0 0 0;
  padding: .5rem .5rem 0 .5rem;
}
.charades-project-page .data .meta .authors a,
.diagram-understanding-project-page .data .meta .authors a,
.figureseer-project-page .data .meta .authors a,
.forces-project-page .data .meta .authors a,
.newtonian-project-page .data .meta .authors a,
.diagram-understanding-project-page .data .meta .authors a,
.xnornet-project-page .data .meta .authors a {
  color: #000000;
}
.xnornet-project-page .text-content p {
  margin: 2rem 0;
}
.xnornet-project-page .text-content .data.video img {
  float: none;
  margin: 2rem 0;
  width: 100%;
}
.figureseer-project-page .data,
.newtonian-project-page .data {
  margin-bottom: 0;
  padding-bottom: 0;
}
.forces-project-page .data.video img {
  float: none;
  margin: 1rem 0 0;
}
.project-intro {
  background: url(images/projects/s2_background.jpg?cb=1473768022043) 50% #1d303c;
  background-size: cover;
  padding: 3.5rem 0;
}
.project-intro.paper-page {
  margin-bottom: 2rem;
}
.project-intro.paper-page h2 {
  color: #f2f6f8;
  text-align: center;
}
.project-intro h2 {
  color: #fcb431;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
  font-size: 2.75rem;
}
.project-intro .logo {
  height: 150px;
  width: 300px;
}
.project-intro p {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 300;
  margin: 2rem auto 0;
  max-width: 50%;
}
.highlight-text.button {
  background: #e39a4c;
  border-color: #e39a4c;
  color: #fff;
  font-size: .5rem;
  margin: 0;
  padding: .25rem .5rem;
  text-align: center;
}
.highlight-text.button:hover {
  background: #da8122;
  border-color: #da8122;
}
.project-details .coming-soon.text-content {
  padding-top: 2rem;
  text-align: center;
}
.project-details .grid-wrapper h2 {
  text-shadow: none;
}
.project-details .grid-wrapper .group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-top: 2rem;
}
.project-details .grid-wrapper .group .screenshot {
  width: 500px;
  height: 385px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.project-details .grid-wrapper .group .features {
  padding: 0 0 3rem 5rem;
  text-align: left;
}
.project-details .grid-wrapper .group .features span {
  font-weight: 600;
  margin-left: -1.4em;
}
.arrow-list li,
.project-details .features li {
  margin-top: 1rem;
  text-indent: -1.4rem;
}
.arrow-list li:before,
.project-details .features li:before {
  content: "\e602";
  float: left;
  font-family: 'icomoon';
  width: 1.4rem;
}
.project-overview {
  padding: 3.5rem 0;
}
.project-overview .diagrams {
  padding: 40px 0 40px 80px;
}
.project-overview .diagrams .diagram {
  width: 510px;
}
.project-overview .diagrams .diagram h3 {
  color: #45a9cd;
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 1rem;
}
.project-overview .diagrams .diagram p {
  padding: 0 50px;
}
.project-overview .diagrams .diagram img {
  margin: 0 auto;
  width: 100%;
}
.project-overview .diagrams .diagram .arrow {
  position: relative;
  width: 260px;
}
.project-overview .diagrams .diagram.diagram1 {
  float: left;
}
.project-overview .diagrams .diagram.diagram1 .arrow {
  margin: -50px 0 -50px 350px;
}
.project-overview .diagrams .diagram.diagram2 {
  float: left;
  margin: 240px 0 0 100px;
}
.project-overview .diagrams .diagram.diagram2 .arrow {
  margin: -100px 0 0 -540px;
  transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -moz-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  -o-transform: scaleX(-1);
}
.project-overview .diagrams .diagram.diagram3 {
  float: left;
  margin: -160px 0 0;
}
.project-team-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.project-team-grid .profile {
  padding: 0 1rem 2rem 1rem;
  width: 20%;
  text-align: left;
}
.project-team-grid .profile a {
  text-decoration: none;
}
.project-team-grid .profile-photo {
  width: 100%;
}
.project-team-grid .name {
  color: #e39a4c;
  font-size: 1.1em;
  font-weight: 600;
}
.project-team-grid .title {
  color: #525252;
  display: block;
  font-size: .7em;
  margin: .2rem 0;
  text-transform: uppercase;
}
.related li:last-child {
  border: 0;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .project-intro p {
    max-width: 65%;
  }
  .project-details .grid-wrapper .group .screenshot {
    height: 327px;
    width: 430px;
  }
  .project-overview .diagrams {
    padding: 40px 0 40px 40px;
  }
  .project-overview .diagrams .diagram {
    width: 420px;
  }
  .project-overview .diagrams .diagram.diagram1 .arrow {
    margin: -50px 0 -50px 300px;
  }
  .project-overview .diagrams .diagram.diagram2 {
    margin: 220px 0 0 90px;
  }
  .project-overview .diagrams .diagram.diagram2 .arrow {
    margin: -100px 0 0 -490px;
    transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .project-intro p {
    max-width: 65%;
  }
  .project-details .grid-wrapper .group .screenshot {
    height: 243px;
    width: 320px;
  }
  .project-details .grid-wrapper .group .features {
    width: 320px;
  }
  .project-overview .diagrams {
    padding: 40px 0 40px 40px;
  }
  .project-overview .diagrams .diagram {
    width: 320px;
  }
  .project-overview .diagrams .diagram .arrow {
    width: 200px;
  }
  .project-overview .diagrams .diagram.diagram1 .arrow {
    margin: -50px 0 -50px 220px;
  }
  .project-overview .diagrams .diagram.diagram2 {
    margin: 240px 0 0 80px;
  }
  .project-overview .diagrams .diagram.diagram2 .arrow {
    margin: -100px 0 0 -380px;
    transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
  }
}
@media only screen and (max-width: 767px) {
  .project-intro {
    padding: 1.5rem 0;
  }
  .project-intro .logo {
    height: 100px;
    width: 200px;
  }
  .project-intro p {
    font-size: 1em;
    margin: 1rem auto;
    max-width: 100%;
  }
  .highlight-text.button {
    display: none;
  }
  .project-details .grid-wrapper .group {
    display: block;
  }
  .project-details .grid-wrapper .group .screenshot {
    display: none;
  }
  .project-details .grid-wrapper .group .features {
    float: none;
    padding: 0 1.5rem 1.5rem;
    width: 100%;
  }
  .project-details .grid-wrapper .group .features span {
    display: block;
    margin: 0 -1.4rem;
    text-align: center;
  }
  .project-overview {
    padding: 1.5rem 0 2.5rem;
  }
  .project-overview .diagrams {
    padding: 0;
  }
  .project-overview .diagrams .diagram {
    clear: both;
    float: none !important;
    margin: 3rem 0 0 !important;
    width: 100%;
  }
  .project-overview .diagrams .diagram .arrow {
    display: none;
  }
  .project-overview .diagrams .diagram h3 {
    margin-top: 1rem;
  }
  .project-overview .diagrams .diagram p {
    padding: 0;
  }
  .project-overview .diagrams .diagram.diagram2 {
    margin: 0;
  }
  .project-team-grid {
    display: block;
  }
  .project-team-grid .profile {
    width: auto;
  }
}
.quotes {
  background: url(images/about_background.jpg);
  font-family: 'Roboto Slab', serif;
  text-align: center;
}
.quotes .quote {
  padding: 3rem 0;
}
.quotes .quote div {
  color: #ffffff;
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 100;
  padding: 0 0 1rem;
}
.quotes .quote label {
  color: #b5deff;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .quotes .quote {
    padding: 1.5rem 0;
  }
  .quotes .quote div {
    font-size: 1.1rem;
  }
  .quotes .quote label {
    font-size: .85rem;
  }
}
.quote-tiles {
  background: #144664;
  background-repeat: no-repeat;
  height: 400px;
  margin-left: 15px;
  margin-right: auto;
  overflow: hidden;
  position: relative;
  width: 400px;
}
.quote-tiles > div {
  background-repeat: no-repeat;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.quote-tiles .quote-current {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.quote-tiles .quote-previous {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}
.quote-tiles .quote-next {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
}
.quote-tiles .button {
  background: rgba(0, 0, 0, 0.6);
  border: 0;
  border-radius: 50%;
  bottom: 20px;
  color: #ffffff;
  cursor: pointer;
  font-size: 22px;
  height: 50px;
  line-height: 2.4;
  opacity: 0;
  padding: 0;
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: opacity .2s linear;
          transition: opacity .2s linear;
  width: 50px;
  z-index: 2;
}
.quote-tiles .button.previous {
  left: 20px;
}
.quote-tiles .button.next {
  right: 20px;
}
.quote-tiles:hover .button {
  opacity: 1;
}
.quote-tiles.animate-next > div,
.quote-tiles.animate-previous > div {
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
          transition: transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
}
.quote-tiles.animate-next:hover .button,
.quote-tiles.animate-previous:hover .button {
  cursor: default;
  opacity: .3;
}
.quote-tiles.animate-previous .quote-current {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
}
.quote-tiles.animate-previous .quote-previous {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.quote-tiles.animate-previous .quote-next {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
}
.quote-tiles.animate-next .quote-current {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}
.quote-tiles.animate-next .quote-previous {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}
.quote-tiles.animate-next .quote-next {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .quote-tiles {
    height: 360px;
    width: 360px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .quote-tiles {
    height: 280px;
    width: 280px;
  }
  .quote-tiles .button {
    font-size: 1rem;
    height: 35px;
    width: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .quote-tiles {
    height: 0;
    margin: 20px 0 0;
    padding-bottom: 100%;
    width: 100%;
  }
  .quote-tiles .button {
    display: none;
  }
}
#btn-show-google-search {
  cursor: pointer;
}
.searchbox {
  display: none;
}
.searchbox .google-search {
  float: left;
  width: 400px;
}
.searchbox .gsc-control-cse {
  border: 0;
  padding: 0;
}
.searchbox .gsc-control-cse form.gsc-search-box {
  margin: 0;
}
.searchbox .gsc-control-cse form.gsc-search-box td.gsc-input {
  padding: 0;
}
.searchbox .gsc-control-cse form.gsc-search-box td.gsc-input .gsst_a {
  padding: 4px 12px 0 0;
}
.searchbox .gsc-control-cse form.gsc-search-box .gsc-input-box {
  border: 1px solid #fcb431;
  border-radius: 4px;
  font-size: .9rem;
  height: 36px;
  line-height: 36px;
  outline: none;
}
.searchbox .gsc-control-cse form.gsc-search-box .gsc-input-box .gsib_a {
  padding: 0;
  vertical-align: top;
}
.searchbox .gsc-control-cse form.gsc-search-box .gsc-input-box .gsib_a .gsc-input {
  background: transparent !important;
  font-family: 'Oxygen', sans-serif;
  padding: 4px 12px !important;
}
.searchbox .gsc-control-cse form.gsc-search-box .gsc-search-button {
  height: 36px;
  margin: 0 0 0 -4px;
  opacity: 0;
  position: absolute;
  z-index: 2;
}
.gsc-results-wrapper-overlay {
  font-family: 'Oxygen', sans-serif;
  font-size: .9rem;
  padding: 20px 40px;
}
.gsc-results-wrapper-overlay .gsc-result-info {
  font-size: 1rem;
}
.gsc-results-wrapper-overlay .gsc-webResult.gsc-result {
  padding: 10px 0 20px;
}
.gsc-results-wrapper-overlay .gs-webResult .gs-title {
  height: 1.6em;
  text-decoration: none;
}
.gsc-results-wrapper-overlay .gs-webResult .gs-snippet {
  color: #525252;
  font-family: 'Oxygen', sans-serif;
  font-size: .9rem;
}
.gsc-results-wrapper-overlay .gsc-orderby-container {
  display: none;
}
.gsc-results-wrapper-overlay .gsc-thumbnail-inside,
.gsc-results-wrapper-overlay .gsc-url-top {
  padding: 0;
}
.gsc-results-wrapper-overlay .gs-webResult.gs-result a.gs-title:link,
.gsc-results-wrapper-overlay .gs-webResult.gs-result a.gs-title:visited,
.gsc-results-wrapper-overlay .gs-webResult.gs-result a.gs-title:link b,
.gsc-results-wrapper-overlay .gs-webResult.gs-result a.gs-title:visited b {
  color: #2172a4;
  font-size: 18px;
}
.gsc-results-wrapper-overlay .gs-webResult.gs-result div.gs-visibleUrl {
  color: #1d303c;
}
.gsc-results-wrapper-overlay .gsc-results .gsc-cursor-box {
  margin: 10px 0;
}
.gsc-results-wrapper-overlay .gsc-results .gsc-cursor-box .gsc-cursor-page {
  background-color: #f2f2f2;
  color: #2172a4;
  margin-right: 3px;
  padding: 2px 10px 4px;
}
.gs-image-box.gs-web-image-box.gs-web-image-box-portrait {
  height: 52px;
}
.search-active > .wrapper header nav {
  display: none;
}
.search-active .searchbox {
  display: block;
  float: right;
  margin-top: 2rem;
}
.search-active .searchbox .twitter-typeahead {
  vertical-align: top;
}
.search-active .searchbox .icon-x {
  color: #b4b4b4;
  cursor: pointer;
  font-size: 1.5rem;
  height: 36px;
  line-height: 36px;
  margin-left: 1rem;
  vertical-align: middle;
}
.search-active .searchbox .icon-search_simple {
  background: #fcb431;
  border: 0;
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
  color: #ffffff;
  display: inline-block;
  height: 36px;
  line-height: 36px;
  margin-left: -0.5rem;
  padding: 0 .8rem;
  position: relative;
  vertical-align: top;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .searchbox .google-search {
    width: 300px;
  }
}
.space {
  background: #f2f6f8;
}
.space h2 {
  position: relative;
  bottom: -2rem;
  z-index: 1;
  text-align: center;
  padding: 1.5rem;
  color: #fff;
  background: #144664;
  margin: 0;
  display: inline-block;
  line-height: 1;
}
.space .set {
  background: #2172a4;
  height: 800px;
  position: relative;
}
.space .set figure {
  background-position: 50% !important;
  background-size: cover !important;
  opacity: .7;
  margin: 0;
  position: absolute;
  transition: opacity 0.3s linear;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  -ms-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
}
.space .set figure a {
  display: block;
  height: 100%;
  width: 100%;
}
.space .set figure img {
  height: 0;
  width: 0;
}
.space .set figure.other img {
  display: none;
}
.space .set figure:hover {
  opacity: 1;
}
.space .set figure:nth-child(1) {
  height: 100%;
  left: 0;
  top: 0;
  width: 35%;
}
.space .set figure:nth-child(2) {
  height: 33%;
  left: 35%;
  top: 0;
  width: 30%;
}
.space .set figure:nth-child(3) {
  height: 34%;
  left: 35%;
  top: 33%;
  width: 30%;
}
.space .set figure:nth-child(4) {
  height: 33%;
  left: 35%;
  top: 67%;
  width: 30%;
}
.space .set figure:nth-child(5) {
  height: 50%;
  left: 65%;
  top: 0;
  width: 35%;
}
.space .set figure:nth-child(6) {
  height: 50%;
  left: 65%;
  top: 50%;
  width: 35%;
}
@media only screen and (max-width: 767px) {
  .space .set {
    height: 500px;
  }
  .space .set figure {
    opacity: 1;
  }
  .space .set figure:nth-child(1) {
    height: 100%;
    left: 0;
    top: 0;
    width: 50%;
  }
  .space .set figure:nth-child(2) {
    height: 33%;
    left: 50%;
    top: 0;
    width: 50%;
  }
  .space .set figure:nth-child(3) {
    height: 34%;
    left: 50%;
    top: 33%;
    width: 50%;
  }
  .space .set figure:nth-child(4) {
    height: 33%;
    left: 50%;
    top: 67%;
    width: 50%;
  }
  .space .set figure:nth-child(5) {
    display: none;
  }
  .space .set figure:nth-child(6) {
    display: none;
  }
}
.tabs-wrapper {
  border-bottom: 1px solid #dddddd;
  margin-bottom: 1.5rem;
}
.tabs-wrapper h4 {
  color: #b4b4b4;
  margin-right: 1.5rem;
  padding-bottom: .5rem;
}
.tabs-wrapper.press-tabs {
  margin-bottom: 0;
  border-bottom: none;
}
.tabs li {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-bottom: .5rem;
  white-space: nowrap;
}
.tabs li a {
  border-right: 1px solid #dddddd;
  color: #525252;
  font-size: .9rem;
  font-weight: bold;
  padding: 0 1rem;
}
.tabs li:hover a {
  color: #45a9cd;
}
.tabs li:last-child a {
  border-right: 0;
}
.tabs li.selected {
  border-bottom: 4px solid #45a9cd;
}
.tabs li.selected a {
  color: #45a9cd;
}
.press-tabs .tabs li a {
  font-size: 1.17em;
}
@media only screen and (max-width: 1024px) {
  .tabs-wrapper {
    display: block;
    padding: 0 1.5rem 1.5rem;
    margin-bottom: 0;
    border-bottom: none;
  }
  .tabs-wrapper .tabs {
    display: block;
  }
  .tabs-wrapper .tabs li {
    border-left: 4px solid transparent;
    border-top: 1px solid #dddddd;
    padding: .5rem 0;
  }
  .tabs-wrapper .tabs li a {
    border-right: 0;
  }
  .tabs-wrapper .tabs li.selected {
    border-bottom: 0;
    border-left: 4px solid #45a9cd;
  }
  .tabs-wrapper .tabs li:last-child {
    border-bottom: 1px solid #dddddd;
  }
  .paper-controls .tabs-wrapper {
    padding-left: 0;
    padding-right: 0;
  }
}
.team-tiles {
  background: #ffffff;
  height: 900px;
  position: relative;
}
.team-tiles div {
  opacity: .7;
  position: absolute;
}
.team-tiles div > div {
  color: #ffffff;
  font-weight: 600;
  margin: auto;
  opacity: 1;
  padding: 3rem;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.team-tiles div > div h3 {
  font-size: 2rem;
}
.team-tiles div > div p {
  margin: 0 0 2rem;
}
.team-tiles div > div p a {
  text-decoration: none;
}
.team-tiles div > div p a:hover {
  text-decoration: underline;
}
.team-tiles .team1 {
  background: url(images/team_tile1.jpg?cb=1473768022043) no-repeat 50%;
  background-size: cover;
  left: 0;
  top: 0;
  height: 70%;
  width: 30%;
}
.team-tiles .team2 {
  background: url(images/team_tile2.jpg?cb=1473768022043) no-repeat 50%;
  background-size: cover;
  left: 30%;
  top: 0;
  height: 30%;
  width: 20%;
}
.team-tiles .team3 {
  background: url(images/team_tile3.jpg?cb=1473768022043) no-repeat 50%;
  background-size: cover;
  left: 50%;
  top: 0;
  height: 30%;
  width: 20%;
}
.team-tiles .team4 {
  background: url(images/team_tile4.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 70%;
  top: 0;
  height: 30%;
  width: 15%;
}
.team-tiles .team5 {
  background: url(images/team_tile5.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 85%;
  top: 0;
  height: 30%;
  width: 15%;
}
.team-tiles .team6 {
  background: #144664;
  left: 30%;
  top: 30%;
  height: 40%;
  opacity: 1;
  width: 40%;
}
.team-tiles .team7 {
  background: url(images/team_tile7.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 70%;
  top: 30%;
  height: 70%;
  width: 30%;
}
.team-tiles .team8 {
  background: url(images/team_tile8.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 0;
  top: 70%;
  height: 30%;
  width: 10%;
}
.team-tiles .team9 {
  background: url(images/team_tile9.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 10%;
  top: 70%;
  height: 30%;
  width: 10%;
}
.team-tiles .team10 {
  background: url(images/team_tile10.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 20%;
  top: 70%;
  height: 30%;
  width: 10%;
}
.team-tiles .team11 {
  background: url(images/team_tile11.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  left: 30%;
  top: 70%;
  height: 30%;
  width: 40%;
}
@media only screen and (max-width: 1024px) {
  .team-tiles div > div {
    padding: 1.5rem;
  }
  .team-tiles div > div h3 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .team-tiles div > div p {
    margin-bottom: 1rem;
  }
  .team-tiles .team1,
  .team-tiles .team4,
  .team-tiles .team5,
  .team-tiles .team7,
  .team-tiles .team8,
  .team-tiles .team9,
  .team-tiles .team10 {
    display: none;
  }
  .team-tiles .team6,
  .team-tiles .team11 {
    left: 0;
    width: 100%;
  }
  .team-tiles .team2,
  .team-tiles .team3 {
    left: 0;
    width: 50%;
  }
  .team-tiles .team3 {
    left: 50%;
  }
}
.twitter {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.twitter span {
  margin-right: .3rem;
}
.twitter span.icon-twitter {
  color: #45a9cd;
  font-size: 1.2rem;
}
.twitter a {
  text-decoration: none;
}
/* pages */
.about .project-intro {
  background: url(images/about_background.jpg?cb=1473768022044) 50% #1d303c;
  background-size: cover;
  padding: 2rem 0 2.5rem;
}
.about .project-intro h2 {
  margin: 2rem auto;
  font-size: 2rem;
  color: #f2f6f8;
}
.about .project-intro .logo {
  height: 130px;
  width: 130px;
}
.about .info-columns {
  padding: 5rem 0 3rem;
}
.grid.about {
  padding: 3.5rem 0;
}
.grid.about .grid-wrapper {
  padding: 2.5rem;
}
.grid.about .grid-wrapper h2 {
  margin-bottom: 1rem;
}
.grid.about .grid-wrapper p {
  text-align: center;
}
.grid.about-story {
  padding: 0;
}
.grid.about-story .grid-wrapper {
  margin-left: auto;
  margin-right: auto;
}
.grid.about-story .grid-wrapper h2 {
  text-shadow: none;
}
.grid.about-story p {
  margin: 0 auto 1.5rem;
}
.grid.about-story .team-group {
  height: 328px;
  margin: 0 auto 2rem;
  width: 1088px;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .grid.about-story .team-group {
    height: 295px;
    margin: 0 auto 2rem;
    width: 980px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .grid.about-story .team-group {
    height: 231px;
    margin: 0 auto 2rem;
    width: 768px;
  }
}
@media only screen and (max-width: 767px) {
  .about .project-intro {
    padding: 1.5rem 0;
  }
  .about .project-intro h2 {
    font-size: 1.8rem;
    margin: 0;
  }
  .about .info-columns {
    padding: 2.5rem 0 1.5rem;
  }
  .grid.about {
    padding: 1.5rem 0;
  }
  .grid.about .grid-wrapper {
    padding: 1.5rem;
  }
  .grid.about-story .team-group {
    display: none;
  }
  .grid.about-story p {
    margin: 0;
    padding: 1rem 0;
  }
  .grid.about-story h2 {
    margin-top: 1.5rem;
  }
  .grid.about-story .max-width-content {
    padding: 0;
  }
}
.aristo .project-intro {
  background: url(images/projects/aristo_background.jpg?cb=1473768022044) 50% #1d303c;
  background-size: cover;
  padding: 2.5rem 0 0;
  position: relative;
}
.aristo .project-intro h2 {
  margin-bottom: 1rem;
}
.aristo .project-intro p {
  margin: 0 auto 2rem;
}
.aristo .project-intro img {
  display: block;
  height: auto;
  margin: auto auto 2rem;
  width: 326px;
}
.aristo .project-overview .diagrams .diagram h3 {
  margin: 1rem 0;
}
.aristo .project-overview .diagrams .diagram .arrow {
  display: none;
}
.demo-callout {
  padding: 0 0 1.5rem;
}
.demo-callout .button {
  background: #e39a4c;
  border-color: #e39a4c;
  color: #fff;
  min-width: 300px;
  text-align: center;
}
.demo-callout .button:hover {
  background: #da8122;
  border-color: #da8122;
}
@media only screen and (max-width: 767px) {
  .aristo .project-intro {
    padding: 1.5rem 0 0;
  }
  .aristo .project-intro img {
    height: auto;
    width: 200px;
  }
  .demo-callout .button {
    width: 100%;
    min-width: 0;
  }
}
/**
 * The "Charades" data set is being built by AI2 interns.  We need to hang a temporary page off of
 * AI2's website as to indicate its official affiliation with AI2.
 */
.charades-project-page #highlight-text {
  float: right;
}
.charades-project-page .project-intro {
  background: url(images/projects/aristo_background.jpg?cb=1473768022044) 50% #1d303c;
  background-size: cover;
}
.charades-project-page .text-content {
  padding: 2rem;
}
.charades-project-page .text-content .paper div {
  margin: 0;
}
.charades-project-page .text-content div {
  margin: 2rem 0;
}
.charades-project-page .text-content h4 {
  margin-bottom: 1rem;
}
.charades-project-page .text-content p:last-child {
  margin-bottom: 0;
}
.charades-project-page .text-content .abstract p {
  margin: 0;
}
.charades-video {
  border: 1px solid #dddddd;
  height: auto;
  max-width: 100%;
  width: 100%;
}
.euclid .project-intro {
  background: url(images/projects/euclid_background.jpg?cb=1473768022044) #1d303c;
  background-size: 243px 414px;
}
.euclid .project-intro .logo {
  height: 180px;
  width: 150px;
}
.euclid .project-intro em {
  color: #fdea65;
  font-style: normal;
}
.euclid .project-intro p {
  margin: 0 auto 2rem;
}
.euclid .project-overview .diagrams .diagram h3 {
  margin: 1rem 0;
}
.euclid .project-overview .diagrams .diagram .arrow {
  display: none;
}
@media only screen and (max-width: 767px) {
  .euclid .project-intro {
    padding: 1.5rem 0 0;
  }
  .euclid .project-intro img {
    height: 160px;
    width: 300px;
  }
}
/**
 * Styles for the founder page.
 */
.founder-sidebar {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin: 0 2rem 0 0;
}
.founder-main {
  text-align: left;
}
.founder-main p {
  margin: 0 0 1.5rem;
}
.founder-columns {
  padding: 1.5rem 0 0;
}
.max-width-content .founder-main {
  margin: 0;
}
.founder-image-link {
  display: block;
  margin: 0 0 1.5rem;
}
.founder-image-link img {
  max-width: 284px;
}
.founder-links {
  text-align: left;
}
.founder-links li {
  margin: 0 1rem;
}
.founder-links li:before {
  color: #b4b4b4;
  content: '\e602';
  font-family: 'icomoon';
  font-size: .8rem;
  margin-right: .5rem;
}
@media only screen and (max-width: 767px) {
  .founder-columns {
    display: block;
    padding: 1.5rem;
  }
  .founder-sidebar {
    margin: 0 0 1.5rem;
  }
  .founder-links li {
    margin: 0;
  }
  .founder-image-link img {
    max-width: 100%;
  }
}
.banner {
  background: rgba(255, 255, 255, 0.55);
  color: #525252;
  font-weight: bold;
  padding: 1rem;
}
.banner a {
  color: #45a9cd;
}
.banner a:hover {
  color: #2172a4;
}
.home .hero {
  background: url(images/hero.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  text-align: center;
}
.home .hero .flex-wrapper {
  min-height: 700px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem;
}
.home .hero .messaging {
  border-radius: 150px;
  margin: 0 auto 4rem;
  text-align: center;
  width: 75%;
  background: rgba(255, 255, 255, 0.6);
  padding: 4rem 6rem;
}
.home .hero .messaging h1 {
  color: #45a9cd;
  font-size: 2.75rem;
  font-weight: 600;
  letter-spacing: -1px;
  margin-top: 0;
}
.home .hero .messaging h3 {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0;
}
.home .hero .messaging span {
  font-size: 1.1em;
}
.home .hero ul {
  margin: auto;
}
.home .hero ul li {
  color: #ffffff;
  display: inline-block;
}
.home .hero ul li a {
  background: #45a9cd;
  border-radius: 50%;
  color: #ffffff;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 600;
  height: 150px;
  margin: .6rem;
  padding: 1.25rem 0 0;
  text-decoration: none;
  text-transform: uppercase;
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transition: transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -ms-transition: -ms-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -o-transition: -o-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  width: 150px;
}
.home .hero ul li a:hover {
  background: #2f8eb0;
  transform: scale(1.08, 1.08);
  -webkit-transform: scale(1.08, 1.08);
  -moz-transform: scale(1.08, 1.08);
  -ms-transform: scale(1.08, 1.08);
  -o-transform: scale(1.08, 1.08);
}
.home .hero ul li a span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin: 0 0 .6rem;
}
.home .hero ul li a span:first-child {
  font-size: 48px;
}
.home .modal-container {
  height: 400px;
  margin-left: auto;
  margin-right: 15px;
  width: 55%;
}
.home .modal-container .video-preview {
  background: url(images/video_play.jpg?cb=1473768022044) no-repeat 50%;
  background-size: cover;
  height: 100%;
  left: 0;
  position: absolute;
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transition: transform 0.2s ease-out;
  -webkit-transition: -webkit-transform 0.2s ease-out;
  -ms-transition: -ms-transform 0.2s ease-out;
  -o-transition: -o-transform 0.2s ease-out;
  top: 0;
  width: 100%;
}
.home .modal-container .icon-video {
  color: #ffffff;
  font-size: 7rem;
  opacity: .6;
  position: relative;
  top: 50%;
  margin-top: -50px;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  transition: transform 0.2s ease-out;
  -webkit-transition: -webkit-transform 0.2s ease-out;
  -ms-transition: -ms-transform 0.2s ease-out;
  -o-transition: -o-transform 0.2s ease-out;
  z-index: 2;
}
.home .modal-container .video-credits {
  bottom: 0;
  color: #b4b4b4;
  font-size: 0.85rem;
  left: 50%;
  margin: 2em auto;
  position: absolute;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.home .modal-container.open {
  height: 0;
}
.home .modal-container.open .modal {
  height: 464px;
  width: 824px;
}
.home .modal-container:hover .video-preview {
  transform: scale(1.03, 1.03);
  -webkit-transform: scale(1.03, 1.03);
  -moz-transform: scale(1.03, 1.03);
  -ms-transform: scale(1.03, 1.03);
  -o-transform: scale(1.03, 1.03);
}
.home .modal-container:hover .icon-video {
  opacity: 1;
  transform: scale(1.2, 1.2);
  -webkit-transform: scale(1.2, 1.2);
  -moz-transform: scale(1.2, 1.2);
  -ms-transform: scale(1.2, 1.2);
  -o-transform: scale(1.2, 1.2);
}
.home .why-ai2 {
  padding: 5rem 0;
}
.home .why-ai2 h2 {
  margin-bottom: 1rem;
}
.home .why-ai2 p {
  margin: 0 auto 1.5rem;
  width: 50%;
}
.home .why-ai2 .why-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.home .info-columns ul {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.home .info-columns .button {
  max-width: 200px;
}
.home .info-columns h3 a {
  display: inline-block;
  color: #525252;
  text-decoration: none;
}
.home .info-columns h3 a:hover,
.home .info-columns h3 a:hover span {
  color: #e39a4c;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .home .hero .messaging {
    width: 75%;
  }
  .home .why-ai2 p {
    width: 60%;
  }
  .home .why-ai2 .modal-container.video-player {
    height: 360px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .hero .messaging {
    padding: 40px 70px;
    width: 75%;
  }
  .home .hero .messaging h1 {
    font-size: 34px;
  }
  .home .projects ul li {
    font-size: .8em;
  }
  .home .team div > div {
    padding: 20px;
  }
  .home .why-ai2 p {
    width: 70%;
  }
  .home .modal-container.video-player {
    height: 280px;
  }
  .home .modal-container.video-player.open .modal {
    height: 376px;
    width: 668px;
  }
}
@media only screen and (max-width: 767px) {
  .home .hero {
    background: url(images/pattern.png?cb=1473768022044);
  }
  .home .hero .flex-wrapper {
    min-height: 540px;
    padding: 1.5rem;
  }
  .home .hero .max-width-content {
    padding: 0;
  }
  .home .hero .messaging {
    border-radius: 0;
    padding: 2rem 1.5rem;
    margin-bottom: 1.5rem;
    width: auto;
  }
  .home .hero .messaging h1 {
    font-size: 1.5rem;
  }
  .home .hero .messaging span {
    display: block;
    margin-top: 1rem;
  }
  .home .hero ul {
    max-width: 300px;
  }
  .home .hero ul li a {
    transition: all 0s linear;
    -webkit-transition: all 0s linear;
    -moz-transition: all 0s linear;
    -ms-transition: all 0s linear;
    -o-transition: all 0s linear;
    height: 110px;
    padding: .6rem 0 0;
    width: 110px;
  }
  .home .hero ul li a:hover {
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
  }
  .home .hero ul li a span {
    font-size: 1rem;
  }
  .home .hero ul li a span:first-child {
    font-size: 2.25rem;
  }
  .home .why-ai2 {
    padding: 1.5rem 0;
  }
  .home .why-ai2 .why-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .home .why-ai2 p {
    width: 100%;
  }
  .home .modal-container.video-player {
    max-height: 330px;
    margin: 0;
    width: 100%;
  }
  .home .modal-container.video-player .video-preview {
    transition: all 0s linear;
    -webkit-transition: all 0s linear;
    -moz-transition: all 0s linear;
    -ms-transition: all 0s linear;
    -o-transition: all 0s linear;
  }
  .home .modal-container.video-player .icon-video {
    transition: all 0s linear;
    -webkit-transition: all 0s linear;
    -moz-transition: all 0s linear;
    -ms-transition: all 0s linear;
    -o-transition: all 0s linear;
  }
  .home .modal-container.video-player .icon-x {
    transition: all 0s linear;
    -webkit-transition: all 0s linear;
    -moz-transition: all 0s linear;
    -ms-transition: all 0s linear;
    -o-transition: all 0s linear;
  }
  .home .modal-container.video-player.open {
    height: 100%;
    left: 0;
    margin: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 4;
  }
  .home .modal-container.video-player.open .icon-x {
    position: absolute;
  }
  .home .modal-container.video-player.open .modal {
    height: 50%;
    width: 100%;
  }
}
@media only screen and (max-width: 432px) {
  .home .info-columns .button {
    max-width: none;
    display: block;
  }
}
.incubator .quotes .quote,
.visitors .quotes .quote {
  padding: 1.5rem 0 1rem;
}
.incubator .incubator-profile__description,
.visitors .incubator-profile__description {
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
}
.incubator .info-columns.incubator,
.visitors .info-columns.incubator {
  background: #f2f6f8;
  padding: 1.5rem 0;
}
.incubator .info-columns.incubator h2,
.visitors .info-columns.incubator h2 {
  color: #45a9cd;
}
.incubator .info-columns.incubator ul,
.visitors .info-columns.incubator ul {
  display: block;
  border: 0;
}
.incubator .info-columns.incubator ul li,
.visitors .info-columns.incubator ul li {
  border: 0;
  border-bottom: 1.5rem solid #f2f6f8;
  clear: both;
  display: block;
  padding-top: .5rem;
  width: 100%;
}
.incubator .info-columns.incubator ul li img.profile,
.visitors .info-columns.incubator ul li img.profile {
  float: left;
  height: 280px;
  margin-right: 2rem;
  width: 280px;
}
.incubator .info-columns.incubator ul li img.logo,
.visitors .info-columns.incubator ul li img.logo {
  display: inherit;
  margin: 1rem 0;
  width: 250px;
}
.incubator .info-columns.incubator ul li .incubator-notice .inherit-background,
.visitors .info-columns.incubator ul li .incubator-notice .inherit-background {
  background: inherit;
  margin: 0;
}
.incubator .info-columns.incubator ul li.single-line,
.visitors .info-columns.incubator ul li.single-line {
  padding: .5rem;
}
@media only screen and (max-width: 767px) {
  .incubator .info-columns.incubator ul li img.profile,
  .visitors .info-columns.incubator ul li img.profile {
    float: left;
    height: 100%;
    margin-bottom: 1rem;
    width: 100%;
  }
  .incubator .info-columns.incubator ul li img.logo,
  .visitors .info-columns.incubator ul li img.logo {
    margin: auto;
    width: 100%;
  }
  .incubator .info-columns.incubator ul li .group .text-content p,
  .visitors .info-columns.incubator ul li .group .text-content p {
    text-align: left;
  }
  .incubator .info-columns.incubator ul li .incubator-notice .inherit-background,
  .visitors .info-columns.incubator ul li .incubator-notice .inherit-background {
    display: inline;
    white-space: inherit;
  }
}
.ike-software-page .center {
  text-align: center;
}
.ike-software-page .project-intro h1 {
  color: #fff;
}
.ike-software-page .no-top-margin {
  margin-top: 0;
}
.ike-software-page .text-content {
  padding: 2rem;
}
.jobs .perks {
  background: #f2f6f8;
  padding: 7.5rem 0 5rem;
}
.jobs .perks ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
}
.jobs .perks ul li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  margin: 1.5rem 2.5rem;
}
.jobs .perks ul li div {
  display: none;
}
.jobs .perks ul li span {
  background: -webkit-radial-gradient(#45a9cd, #144664);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  color: #45a9cd;
  display: inline-block;
  margin-bottom: 1rem;
}
.jobs .perks ul li span:before {
  font-size: 70px;
}
.jobs .perks ul li p {
  display: block;
  margin: 0;
}
/* Paragraph with bold label styles */
.job-criteria {
  margin-bottom: 1.5rem;
}
.page-columns .main-column p.job-criterion {
  margin: 0;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .jobs .perks ul li {
    margin: 1.5rem 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .jobs .perks {
    padding: 5rem 0 2.5rem;
  }
  .jobs .perks ul li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 40%;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
    font-size: .8em;
    margin: 1rem 1.5rem;
  }
  .jobs .perks ul li div {
    display: none;
  }
  .jobs .perks ul li span {
    margin-bottom: .25rem;
  }
  .jobs .perks ul li span:before {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .jobs .perks ul li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 80%;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
  }
}
.job-listing .content {
  background: url(images/whiteboard.jpg?cb=1473768022044) no-repeat 50% 0;
}
@media only screen and (max-width: 767px) {
  .job-listing .content {
    margin: 0;
    padding: 1.5rem 0;
  }
}
.job-listing .content .main-column ul {
  margin: 1rem 0 2rem 2rem;
}
.job-listing .content .main-column ul li {
  list-style: initial;
}
.newtonian-project-page .text-content {
  padding: 2rem;
}
.newtonian-project-page .text-content .no-space-below {
  margin-bottom: 0;
  padding-bottom: 0;
}
.open-source .body-content {
  background: url(images/open_source_background.jpg?cb=1473768022044) #1d303c;
  background-size: contain;
}
.open-source .project-intro {
  background: transparent;
  padding: 2.5rem 0 0;
}
.open-source .project-intro .logo {
  width: 300px;
  height: 200px;
}
.open-source .project-intro p {
  margin: 0 auto 2rem;
  max-width: 75%;
}
.open-source .info-columns {
  background: transparent;
  padding: 2.5rem 0 0;
}
.open-source .quotes {
  background: transparent;
  margin: 0 0 2.5rem;
}
@media only screen and (max-width: 767px) {
  .open-source .project-intro {
    padding: 1.5rem 0 0;
  }
  .open-source .project-intro .logo {
    width: 210px;
    height: 140px;
  }
  .open-source .info-columns {
    padding: 1.5rem 0 0;
  }
  .open-source .quotes {
    margin: 1.5rem;
  }
}
.paper-appendix-page .project-intro h2 {
  color: #f2f6f8;
}
.paper-appendix-page .data {
  padding-bottom: 0;
}
.paper-appendix-page .paper-resources {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}
.paper-appendix-page .paper-resources h4 {
  text-align: left;
}
.paper-appendix-page .meta .button {
  margin: 1.5rem 0;
}
.paper-appendix-page #data-grid {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .paper-appendix-page .project-intro {
    display: none;
  }
}
.body-content .profile-page {
  background: #ffffff url(/images/projects/aristo_background.jpg?cb=1473768022044) top repeat-x;
  background-size: auto 150px;
  margin-bottom: 40px;
}
.body-content .profile-page section {
  margin-bottom: 40px;
  margin-top: 0;
}
.body-content .profile-page section:last-child {
  margin-bottom: 0;
}
.body-content .profile-page section .max-width-content.group .bullets li {
  list-style: disc;
  margin-left: 30px;
}
.body-content .profile-page section .max-width-content.group .bullets li a {
  text-decoration: none;
}
.body-content .profile-page section .max-width-content.group .button {
  margin: 0 1em 0 0;
}
.body-content .profile-page section .max-width-content.group .main-column {
  border: none;
}
.body-content .profile-page section .max-width-content.group .main-content {
  float: left;
  margin-top: 40px;
  text-align: left;
}
.body-content .profile-page section .max-width-content.group .main-content h1:first-child,
.body-content .profile-page section .max-width-content.group .main-content h2:first-child,
.body-content .profile-page section .max-width-content.group .main-content h3:first-child,
.body-content .profile-page section .max-width-content.group .main-content h4:first-child {
  margin-bottom: 20px;
}
.body-content .profile-page section .max-width-content.group .papers li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.body-content .profile-page section .max-width-content.group .profile-header {
  height: 150px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  text-align: left;
}
.body-content .profile-page section .max-width-content.group .profile-header h2 {
  color: white;
  font-size: 2.5em;
  margin-bottom: 0;
}
.body-content .profile-page section .max-width-content.group .profile-header h4 {
  color: #b4b4b4;
  font-size: 1.25em;
  margin-bottom: 0;
  text-transform: uppercase;
}
.body-content .profile-page section .max-width-content.group .profile-page-menu-arrow {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin-right: .5rem;
  -webkit-transition: -webkit-transform 250ms linear;
          transition: transform 250ms linear;
}
.body-content .profile-page section .max-width-content.group .profile-page-menu-header {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #525252;
  color: #ffffff;
  display: none;
  padding: .5rem 1rem;
}
.body-content .profile-page section .max-width-content.group .side-column img {
  margin: 30px 0 30px 0;
  width: 100%;
}
.body-content .profile-page section .max-width-content.group .student-group {
  margin-left: 1rem;
}
.body-content .profile-page section .max-width-content.group .student-group .student-list {
  display: none;
}
.body-content .profile-page section .max-width-content.group .student-group.is-active .student-list {
  display: block;
}
.body-content .profile-page section .max-width-content.group .students-list-menu-title.profile-page-menu-header {
  background-color: inherit;
  color: #2172a4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.2rem;
  padding-left: 0;
  position: relative;
}
.body-content .profile-page section .max-width-content.group .students-list-menu-title.profile-page-menu-header .profile-page-menu-arrow {
  margin-left: -1.5rem;
  position: absolute;
}
.body-content .profile-page section .max-width-content.group .text-content {
  margin-left: 0;
}
.body-content .profile-page section .max-width-content.group .videos #data-grid li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.body-content .profile-page section .max-width-content.group #profile-page-menu-container.is-active .profile-page-menu-arrow,
.body-content .profile-page section .max-width-content.group .student-group.is-active .profile-page-menu-arrow {
  -webkit-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.body-content .profile-page section .max-width-content.group p:last-child {
  margin-bottom: 0;
}
.body-content .profile-page section .max-width-content.group .submenu {
  border-right: 1px solid #dddddd;
  margin-top: 0;
}
.body-content .profile-page section .max-width-content.group .submenu a {
  color: #2172a4;
  display: block;
  font-size: .9em;
  padding: .5rem 1rem;
  text-decoration: none;
}
.body-content .profile-page section .max-width-content.group .submenu a.selected {
  background-color: inherit;
  border-right: 4px solid;
  color: #2172a4;
  font-weight: bolder;
}
.body-content .profile-page section .max-width-content.group .submenu li:hover {
  background-color: #f2f2f2;
}
.body-content .mobile-only {
  display: none;
}
@media only screen and (max-width: 767px) {
  body .body-content .profile-page {
    background: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 1.5rem;
  }
  body .body-content .profile-page .max-width-content.group {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 0 0 1.5em 0;
  }
  body .body-content .profile-page .max-width-content.group .button {
    margin-bottom: 1rem;
    text-align: center;
    width: 100%;
  }
  body .body-content .profile-page .max-width-content.group .button:last-child {
    margin-bottom: 0;
  }
  body .body-content .profile-page .max-width-content.group .main-column {
    padding-bottom: 40px;
  }
  body .body-content .profile-page .max-width-content.group .side-column {
    display: block;
    width: inherit;
  }
  body .body-content .profile-page .max-width-content.group .side-column a:hover {
    background-color: #525252;
  }
  body .body-content .profile-page .max-width-content.group .side-column img {
    margin: 0;
  }
  body .body-content .profile-page .max-width-content.group .side-column .mobile-only {
    display: block;
  }
  body .body-content .profile-page .max-width-content.group .side-column #profile-page-menu-container.is-active #profile-page-submenu {
    display: block;
  }
  body .body-content .profile-page .max-width-content.group .side-column .profile-page-menu-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  body .body-content .profile-page .max-width-content.group .side-column .profile-page-menu-title {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  body .body-content .profile-page .max-width-content.group .side-column .profile-page-menu-title a {
    color: #fff;
  }
  body .body-content .profile-page .max-width-content.group .side-column .submenu {
    background-color: #f2f2f2;
    border: none;
    display: none;
    margin-top: 0;
  }
  body .body-content .profile-page .max-width-content.group .submenu a.selected {
    border-right: none;
  }
  body .body-content .profile-page .max-width-content.group .profile-header {
    height: auto;
    padding: 1rem 0 1rem 0;
    text-align: center;
  }
  body .body-content .profile-page .max-width-content.group .profile-header h2 {
    color: #525252;
  }
  .desktop-only {
    display: none;
  }
}
.plato .plaque {
  border: 4px solid #fcb431;
  border-left: 0;
  border-right: 0;
  padding: 1rem 2rem 2rem;
  display: inline-block;
}
.plato .plaque .icon-plato {
  font-size: 4rem;
  color: #fcb431;
}
.plato .plaque h2 {
  margin: 0;
  line-height: 1;
}
.plato .project-intro {
  background: url(images/projects/plato_background.jpg?cb=1473768022044) 50% #1d303c;
  background-size: cover;
}
.plato .project-details .grid-wrapper .group {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.plato .project-overview .project {
  margin: 0 0 3.5em;
}
.plato .project-overview .project h3 {
  font-size: 1.3em;
  font-weight: 600;
  margin-bottom: 1em;
}
.plato .project-overview .project .project-image {
  display: block;
  height: auto;
  margin: 1.5em auto;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .plato .project-overview .project {
    margin: 0 0 1.5em;
  }
}
.press .page-columns {
  padding: 1.5rem 0 2.5rem;
}
.press .page-columns .articles {
  margin-bottom: 2.5rem;
}
.press .page-columns .articles li {
  clear: left;
  list-style: none;
}
.press .page-columns .articles li a {
  font-weight: 300;
  text-decoration: none;
}
.press .page-columns .articles li > span {
  display: block;
  font-size: .7rem;
  text-transform: uppercase;
}
.press .page-columns .articles li div {
  float: left;
  margin: 0 2.5rem 3rem;
  width: 250px;
}
.press .page-columns .articles li div img {
  float: right;
}
.press .page-columns .articles li:before {
  content: none;
}
.press .page-columns .articles li:last-child {
  border-bottom: none;
}
.press .page-columns .articles.all li {
  line-height: 1.35rem;
  padding: .5rem 0;
}
.press .page-columns .side-column .articles {
  margin-bottom: 0;
}
.press .page-columns .side-column .twitter {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 1.5rem;
}
.press .page-columns .side-column .twitter .icon-twitter {
  margin-top: .25rem;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .press .page-columns.press {
    padding: 0 0 2.5rem;
  }
  .press .page-columns.press .main-column .articles li div {
    float: none;
    margin: 0 2.5rem 0 0;
  }
  .press .page-columns.press .main-column .articles li div img {
    float: left;
  }
}
.data-columns .main-column .paper-controls,
.data-columns .main-column .press-controls {
  padding-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .press .page-columns.press {
    padding: 0;
    margin: 0;
  }
  .press .page-columns.press .side-column,
  .press .page-columns.press .main-column,
  .press .page-columns.press .max-width-content {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .press .page-columns.press .side-column {
    padding: 0;
  }
  .press .page-columns.press .column-box {
    padding: 1.5rem;
    margin: 1.5rem;
  }
  .press .page-columns.press .main-column .articles {
    margin-bottom: 0;
  }
  .press .page-columns.press .main-column .articles li {
    text-align: left;
    border-top: 1px solid #dddddd;
    padding: 1.5rem;
  }
  .press .page-columns.press .main-column .articles li div {
    float: none;
    margin: 0 2.5rem 0 0;
  }
  .press .page-columns.press .main-column .articles li div img {
    float: left;
  }
}
.s2 .project-intro {
  background: url(images/projects/s2_background.jpg?cb=1473768022044) 50% #1d303c;
  background-size: cover;
}
.s2 .project-intro h1,
.s2 .project-intro h2 {
  font-weight: 400;
}
.s2 .project-intro h1 {
  margin: 1.5rem 0 0.5rem;
  font-size: 3rem;
  color: #fcb431;
}
.s2 .project-intro h2 {
  margin: 0.5rem 0 1.5rem;
  font-size: 1.5rem;
  color: #fff;
}
.s2 .project-intro form {
  margin: 3rem 0 0;
}
.s2-link {
  color: #fdea65;
  text-decoration: none;
}
.s2-link:hover {
  color: #fded7e;
}
.s2-link:active {
  color: #fce333;
}
.sample-query-list,
.s2-search-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sample-query-list {
  margin: 1rem 0;
}
.sample-query-list li {
  margin: 0 1rem;
}
.sample-query-list li.label {
  color: #b4b4b4;
}
.sample-query-list li a[href] {
  color: #45a9cd;
}
.sample-query-list li a[href]:hover {
  color: #b5deff;
}
.sample-query-list li a[href]:active {
  color: #2172a4;
}
.s2-search-row {
  margin: 1rem 0;
}
.s2-search-row input[type="search"],
.s2-search-row button {
  padding: 0.5rem 0.75rem;
}
.s2-search-row input[type="search"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border: none;
  min-width: 300px;
}
.s2-search-row button {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  background: #45a9cd;
  border: none;
  color: #fff;
}
.s2-search-row button:hover {
  color: #b5deff;
}
.s2-search-row button:active {
  color: #2172a4;
}
@media only screen and (max-width: 767px) {
  .s2 .project-intro h1 {
    font-size: 1.75rem;
  }
  .s2 .project-intro h2 {
    font-size: 1.25rem;
  }
  .s2 .project-intro form {
    margin: 2rem 0 0;
  }
  .s2-search-row input[type="search"] {
    min-width: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .sample-query-list {
    display: block;
  }
  .sample-query-list li {
    display: inline-block;
    margin: 0.25rem;
  }
}
.team .top h2 {
  margin: 0;
}
.team #filters {
  list-style: none;
  margin: 0 auto 2.5rem;
  padding: 0;
  width: 80%;
}
.team #filters li {
  border-right: 1px solid #ffffff;
  display: block;
  margin: 0;
  float: left;
  padding: 0;
  width: 25%;
}
.team #filters li button {
  background: #45a9cd;
  border: 0;
  color: #ffffff;
  padding: .5rem 0;
  width: 100%;
}
.team #filters li button:focus {
  outline: 0;
}
.team #filters li button.is-checked {
  background: #525252;
}
.team .team-grid {
  font-size: 0;
  margin-bottom: 2.5rem;
  text-align: center;
}
.team .team-grid li {
  display: inline-block;
  font-size: 1rem;
  padding: 0 .5rem 1.5rem;
  text-align: left;
  vertical-align: top;
  width: 25%;
}
.team .team-grid li a {
  text-decoration: none;
}
.team .team-grid li h4 {
  color: #e39a4c;
  font-size: 1.1em;
  font-weight: 600;
}
.team .team-grid li h4 span {
  color: #e39a4c;
  display: inline;
}
.team .team-grid li label {
  color: #525252;
  display: block;
  font-size: .7em;
  margin: .2rem 0;
  text-transform: uppercase;
}
.team .team-grid li .bio {
  height: 284px;
  margin-bottom: .2rem;
  overflow: hidden;
  position: relative;
  width: 284px;
}
.team .team-grid li .bio > div {
  background: rgba(0, 0, 0, 0.7);
  height: 100%;
  left: 0;
  opacity: 0;
  overflow: auto;
  position: absolute;
  top: 0;
  transition: opacity 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -webkit-transition: opacity 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -moz-transition: opacity 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -ms-transition: opacity 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -o-transition: opacity 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  width: 100%;
}
.team .team-grid li .bio > div p {
  color: #ffffff;
  font-size: .75rem;
  line-height: 1.4;
  margin: 0;
  padding: 1rem;
  transform: translateY(-10%);
  -webkit-transform: translateY(-10%);
  -moz-transform: translateY(-10%);
  -ms-transform: translateY(-10%);
  -o-transform: translateY(-10%);
  transition: transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -ms-transition: -ms-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
  -o-transition: -o-transform 0.5s cubic-bezier(0, 0.7, 0.3, 1);
}
.team .team-grid li .bio > div p a {
  color: #fdea65;
  display: block;
  margin: .5rem 0;
}
.team .team-grid li .bio img {
  height: 100%;
  width: 100%;
}
.team .team-grid li .bio:hover > div {
  opacity: 1;
}
.team .team-grid li .bio:hover > div p {
  transform: translateY(0);
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
}
.team .team-grid li.large {
  margin: 0 0 2rem 16%;
  width: 100%;
}
.team .team-grid li.large .board-content {
  margin: 2rem;
}
.team .team-grid li.large .board-content ul {
  margin: 1rem 0 0;
}
.team .team-grid li.large .board-content ul li {
  display: list-item;
  padding: 0;
  width: auto;
}
.team .team-grid li.large .board-content ul li:before {
  color: #b4b4b4;
  content: '\e602';
  font-family: 'icomoon';
  font-size: .8rem;
  margin-right: .5rem;
}
.team .team-grid li.large img {
  float: left;
  height: 33%;
  margin-right: 2rem;
  width: 33%;
}
.team .team-grid.sab {
  font-size: 1rem;
}
.team .collaborators {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.team .collaborators ul {
  padding: 0 1.5rem;
  text-align: left;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.team .collaborators ul strong {
  display: block;
  font-weight: 600;
  margin-top: .6rem;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .team .team-grid li {
    width: 33%;
  }
  .team .team-grid li .bio {
    height: 310px;
    width: 310px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .team .team-grid li {
    width: 50%;
  }
  .team .team-grid li .bio {
    height: 368px;
    width: 368px;
  }
  .team .team-grid li .bio > div p {
    font-size: .9rem;
  }
  .team .team-grid.board {
    font-size: 0rem;
  }
}
@media only screen and (max-width: 767px) {
  .chairman-links {
    display: none;
  }
  .team #filters {
    width: 100%;
  }
  .team #filters {
    margin: 0 auto 1.5rem;
  }
  .team #filters li {
    float: none;
    margin-bottom: 1px;
    width: 100%;
  }
  .team .collaborators {
    display: block;
  }
  .team .team-grid li {
    padding: 0 6px 12px;
    width: 100%;
    float: none;
  }
  .team .team-grid li .bio {
    height: 100%;
    width: 100%;
  }
  .team .team-grid li .bio > div p {
    font-size: .75rem;
  }
  .team .team-grid li .bio:hover > div {
    opacity: 0;
  }
  .team .team-grid li .bio.active > div {
    opacity: 1;
  }
  .team .team-grid li .bio.active > div p {
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
  }
  .team .team-grid li:after {
    border: 2px solid #2172a4;
    border-radius: 50%;
    bottom: 20px;
    color: #2172a4;
    content: "\e60d";
    font-family: 'icomoon';
    line-height: 1;
    margin-top: .25rem;
    padding: .5rem;
    position: absolute;
    right: 6px;
  }
  .team .team-grid li.no-bio:after {
    display: none;
  }
  .team .team-grid li a h4 {
    font-size: 0.9em;
  }
  .team .team-grid li a img {
    margin-bottom: 4px;
  }
  .team .team-grid li.large {
    margin: 0;
  }
  .team .team-grid li.large .board-content {
    margin: 0.5rem 0 0;
  }
  .team .team-grid li.large img {
    float: none;
    height: 100%;
    margin: 0;
    width: 100%;
  }
  .team .team-grid.board {
    font-size: 0rem;
  }
}
.visitors .text-content p {
  margin-bottom: 0;
}
