@import url("https://fonts.googleapis.com/css?family=Crimson+Text:400,700|Montserrat:200");
* {
  box-sizing: border-box; }

.u-clearfix:after {
  content: ' ';
  /* Older browser do not support empty content */
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }

.u-transition, .button, .custom-icon:hover, .webby-banner p a, .page-section .link, .fp-controlArrow:hover, .definition:not(.footnote), .footnote, .slide-panel__wrapper--full .slide-panel-full__content a:not(.no-height), .slide-panel__wrapper--full .slide-panel-full .no-height, .slide-panel__wrapper--full .slide-panel-full__container i, .about .page-section--partners .partner-container, .about .page-section--partners .partner-container:hover,
.slide .link, .page-section .to-top-container i:hover,
.slide .to-top-container i:hover {
  transition: all 0.4s ease; }

.u-material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  /* Support for IE. */
  font-feature-settings: 'liga'; }

#overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: none;
  opacity: 0.7; }
  #overlay.js-active {
    display: block; }

body {
  margin: 0;
  font-family: serif;
  font-weight: 300;
  line-height: 1.6; }
  body p, body ul {
    font-family: "Crimson Text", serif !important; }
  body h1, body h2, body h3, body h4, body h5, body h6 {
    font-family: "Montserrat", sans-serif !important; }

html, body {
  position: relative;
  height: 100%; }

body {
  background: #eee;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #000;
  margin: 0;
  padding: 0; }

#fullpage .button {
  font-family: "Montserrat", sans-serif !important; }

a {
  text-decoration: none; }

.main-menu {
  box-shadow: none;
  overflow-y: scroll; }

.button {
  text-decoration: none;
  border: 1px solid white;
  padding: 10px 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: white;
  letter-spacing: 1.5px;
  display: inline-block;
  cursor: pointer; }
  .button:hover {
    background-color: rgba(255, 255, 255, 0.1); }
  .button--disabled {
    pointer-events: none;
    opacity: 0.4; }

.main-logo {
  padding-bottom: 40px;
  text-align: center; }
  .main-logo img {
    width: 80%; }

.divider {
  background-color: #444444;
  padding: 20px;
  text-align: center; }
  .divider--red {
    background-color: #de4156; }

.footer {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #444444;
  color: white; }
  .footer h4 {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 15px; }
  @media (min-width: 40.063em) {
    .footer__wrapper {
      display: flex; } }
  .footer__column {
    flex: 4;
    padding: 20px; }
    .footer__column > img {
      margin-top: 20px;
      opacity: 0.3;
      max-height: 220px; }
      @media (max-width: 40em) {
        .footer__column > img {
          margin-top: 10px; } }
    @media (max-width: 40em) {
      .footer__column h4, .footer__column p {
        margin: 0; } }
    @media (min-width: 64.063em) {
      .footer__column {
        padding: 40px; }
        .footer__column:first-of-type {
          padding-left: 120px; }
        .footer__column:last-of-type {
          padding-right: 120px; } }
    .footer__column--mid {
      flex: 3; }
      @media (min-width: 64.063em) {
        .footer__column--mid img {
          padding-right: 55px; } }
      @media (max-width: 1210px) {
        .footer__column--mid img {
          padding-right: 40px; } }
      @media (min-width: 40.063em) and (max-width: 64em) {
        .footer__column--mid img {
          padding-right: 35px; } }
      @media (max-width: 40em) {
        .footer__column--mid img {
          padding-right: 0px; } }
      .footer__column--mid p {
        font-family: "Montserrat", sans-serif !important;
        padding-bottom: 10px; }
        @media (max-width: 40em) {
          .footer__column--mid p {
            padding-bottom: 20px; } }
      @media (max-width: 40em) {
        .footer__column--mid {
          text-align: center; } }
      @media (min-width: 64.063em) {
        .footer__column--mid .call-to-action {
          padding-left: 30px;
          padding-right: 65px; } }
      @media (max-width: 1210px) {
        .footer__column--mid .call-to-action {
          padding-left: 20px;
          padding-right: 55px; } }
      @media (min-width: 40.063em) and (max-width: 64em) {
        .footer__column--mid .call-to-action {
          padding-left: 25px;
          padding-right: 30px; } }
      @media (max-width: 40em) {
        .footer__column--mid .call-to-action {
          padding-left: 0px;
          padding-right: 0px; } }
    @media (max-width: 40em) {
      .footer__column .MMB-logo {
        padding-bottom: 10px; } }
  .footer--slim {
    flex: 1; }
  @media (max-width: 40em) {
    .footer .footer-menu {
      text-align: center; } }
  .footer .footer-menu h4 {
    margin-top: 0; }
  .footer .footer-menu a {
    font-family: Montserrat;
    display: block;
    margin-bottom: 8px;
    text-transform: uppercase;
    margin: 0;
    font-size: .95rem; }

.after-footer {
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  color: rgba(255, 255, 255, 0.7);
  padding: 15px;
  font-size: 1rem; }
  .after-footer p {
    margin: 0; }

.custom-icon {
  display: inline-block;
  padding: 10px 7px;
  vertical-align: middle;
  margin: 0 10px 0 0;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  cursor: pointer;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2); }
  @media (max-width: 1210px) {
    .custom-icon {
      width: 40px;
      height: 40px; } }
  @media (max-width: 40em) {
    .custom-icon {
      width: 40px;
      height: 40px; } }
  .custom-icon > * {
    margin: 0 5px; }
  .custom-icon--linkedin {
    background-image: url("../images/icons/linkedin.svg");
    background-position: center 5px;
    background-size: 78%; }
  .custom-icon--twitter {
    background-image: url("../images/icons/twitter.svg");
    background-position: center 8px;
    background-size: 70%; }
  .custom-icon--youtube {
    background-image: url("../images/icons/youtube.svg");
    background-position: center 5px;
    background-size: 78%; }
  .custom-icon--github {
    background-image: url("../images/icons/github.svg");
    background-position: center 5px;
    background-size: 78%; }
  .custom-icon--osf {
    background-image: url("../images/icons/osf.svg");
    background-position: center 8px;
    background-size: 70%; }
    @media (max-width: 1210px) {
      .custom-icon--osf {
        background-position: center 5px; } }
    @media (max-width: 40em) {
      .custom-icon--osf {
        background-position: center 5px; } }
  .custom-icon:before {
    pointer-events: none; }
  .custom-icon:hover {
    border-color: white;
    background-color: rgba(0, 0, 0, 0.1); }
  .custom-icon .material-icons {
    font-size: 1.6em;
    vertical-align: middle; }
    @media (max-width: 1210px) {
      .custom-icon .material-icons {
        font-size: 1.2rem;
        vertical-align: top;
        margin-left: 3px; } }
    @media (max-width: 40em) {
      .custom-icon .material-icons {
        font-size: 1.2rem;
        vertical-align: top;
        margin-left: 3px; } }

.top-bar {
  position: fixed;
  height: 0; }
  .top-bar--no-logo {
    width: 100%;
    z-index: 200; }
  .top-bar__button {
    z-index: 2;
    color: white;
    padding: 1rem 1rem 2.5rem; }
  .top-bar .main-menu {
    background-color: #20394f; }
    .top-bar .main-menu a {
      color: rgba(255, 255, 255, 0.7);
      font-weight: 700;
      font-size: 1.2rem;
      text-align: left;
      display: block;
      font-size: 18px;
      padding: 26px;
      font-weight: 500;
      letter-spacing: 1px; }
      @media (min-width: 64.063em) {
        .top-bar .main-menu a {
          padding-left: 3.5em; } }
      .top-bar .main-menu a:hover {
        background-color: rgba(0, 0, 0, 0.1);
        color: white;
        text-decoration: none; }
    .top-bar .main-menu .button {
      background-color: #20394f;
      color: rgba(255, 255, 255, 0.7);
      font-size: 1.8rem;
      border: none; }
      .top-bar .main-menu .button:hover {
        background-color: #20394f;
        color: rgba(255, 255, 255, 0.9); }
    .top-bar .main-menu--left__close-menu {
      text-align: left; }

.webby-banner {
  text-align: center;
  background-color: rgba(25, 44, 61, 0.85);
  color: white;
  position: absolute;
  left: 0;
  right: 0;
  top: 0; }
  .webby-banner p {
    font-weight: 400;
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-family: "Montserrat", sans-serif !important;
    margin: 0;
    font-size: 1.2rem; }
    @media (max-width: 40em) {
      .webby-banner p {
        font-size: 1rem;
        margin-left: 50px;
        margin-right: 50px; } }
    .webby-banner p a {
      text-decoration: none;
      border-bottom: #91b4ff 2px solid;
      display: inline-block;
      background-size: 100% 200%;
      background-image: linear-gradient(to bottom, transparent 50%, rgba(170, 198, 255, 0.6) 50%); }
      .webby-banner p a:hover {
        cursor: pointer;
        background-position: 0 100%; }
  .webby-banner i {
    position: absolute;
    right: 1rem;
    top: 1rem;
    color: #366085;
    cursor: pointer; }
    @media (max-width: 40em) {
      .webby-banner i {
        top: .9rem;
        right: .9rem; } }
    .webby-banner i:hover {
      color: white; }

.page-section {
  padding-bottom: 50px; }
  .page-section h1,
  .page-section h2 {
    text-transform: uppercase;
    font-size: 2.5rem;
    margin-bottom: 0; }
  .page-section p {
    font-family: 'Amiri', serif;
    font-size: 1.1rem;
    font-weight: bold; }
  .page-section .link {
    font-weight: 700;
    text-decoration: none;
    border-bottom: #91b4ff 2px solid;
    display: inline-block;
    height: 25px;
    background-size: 100% 200%;
    background-image: linear-gradient(to bottom, transparent 50%, rgba(170, 198, 255, 0.6) 50%); }
    .page-section .link:hover {
      cursor: pointer;
      background-position: 0 100%; }
  .page-section__blue {
    position: relative;
    background-color: #20394f;
    color: white; }
    .page-section__blue--header .text {
      position: relative;
      z-index: 2; }
    .page-section__blue--header .image {
      background-repeat: no-repeat;
      background-size: 1200px;
      background-position: 440% 70%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1; }
      @media (min-width: 40.063em) and (max-width: 64em) {
        .page-section__blue--header .image {
          background-position: -100% 120%; } }
      @media (max-width: 40em) {
        .page-section__blue--header .image {
          background-position: left bottom; } }
  .page-section__red {
    position: relative;
    background-color: #de4156; }
    .page-section__red .row {
      color: white !important; }
    .page-section__red--img .text {
      position: relative;
      z-index: 2; }
    .page-section__red--img .image {
      background-image: url("/images/lab-dots-2.svg");
      background-repeat: no-repeat;
      background-size: 1000px;
      background-position: 200% 60%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1; }
      @media (max-width: 40em) {
        .page-section__red--img .image {
          background-position: left bottom; } }
  .page-section__gray {
    position: relative;
    background-color: #303030;
    color: white; }
    .page-section__gray--header .text {
      position: relative;
      z-index: 2; }
    .page-section__gray--header .image {
      background-image: url("/images/lab-dots-2.svg");
      background-repeat: no-repeat;
      background-size: 1200px;
      background-position: 440% 75%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1; }
      @media (min-width: 40.063em) and (max-width: 64em) {
        .page-section__gray--header .image {
          background-position: -20% 120%; } }
      @media (max-width: 40em) {
        .page-section__gray--header .image {
          background-position: -20% 150%; } }
  .page-section__washed-blue {
    position: relative;
    background-color: #2b4888 !important; }
    .page-section__washed-blue .row {
      color: white !important; }
    .page-section__washed-blue--img .text {
      position: relative;
      z-index: 2; }
    .page-section__washed-blue--img .image {
      background-color: #2b4888 !important;
      background-image: url("/images/lab-dots-2.svg");
      background-repeat: no-repeat;
      background-size: 1000px;
      background-position: 200% 60%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1; }
      @media (max-width: 40em) {
        .page-section__washed-blue--img .image {
          background-position: left bottom; } }
  .page-section__full {
    height: 100vh; }
    .page-section__full .text-container {
      padding-left: 2rem;
      padding-right: 2rem; }
      @media (max-width: 40em) {
        .page-section__full .text-container {
          padding-left: 0;
          padding-right: 0; } }
    .page-section__full h1 {
      color: white !important;
      text-transform: uppercase;
      font-size: 3rem !important; }
  .page-section--text a {
    color: #20394f; }
  .page-section--text h2 {
    font-size: 1.8rem; }
  .page-section--text ul {
    font-size: 1.1rem; }
    .page-section--text ul li {
      padding-bottom: 20px; }

.page {
  background-size: cover;
  background-repeat: none; }
  .page--1 {
    background-color: black; }
    .page--1 .brand {
      z-index: 2; }
    .page--1 .text-container {
      position: relative;
      z-index: 2; }
      .page--1 .text-container h1 {
        line-height: 1.3;
        font-size: 2.4rem !important; }
        @media (min-width: 40.063em) and (max-width: 64em) {
          .page--1 .text-container h1 {
            font-size: 1.9rem !important; } }
        @media (max-width: 40em) {
          .page--1 .text-container h1 {
            font-size: 1.5rem !important; } }
    .page--1 .image-overlay {
      background: url("/images/header-2a.png") center center no-repeat;
      width: 100%;
      height: 100%;
      background-size: cover;
      position: absolute;
      top: 0;
      right: 0;
      left: 0; }
      .page--1 .image-overlay .overlay {
        background-image: linear-gradient(rgba(0, 0, 0, 0.2), black);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .page--1 .video-overlay {
      background-size: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      left: 0; }
      .page--1 .video-overlay .overlay {
        background-image: linear-gradient(rgba(0, 0, 0, 0.1), black);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1; }
      .page--1 .video-overlay #video {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%; }
  .page--2 {
    background-color: #20394f !important;
    background-image: url("/images/lab-dots.svg");
    background-repeat: no-repeat;
    background-size: 1000px;
    background-position: 200% 100%; }
    .page--2 .text p {
      font-weight: initial; }
    @media (max-width: 40em) {
      .page--2 {
        background-position: left bottom; } }
  .page--3 {
    background-color: #de4156;
    background-image: url("/images/lab-dots.svg");
    background-repeat: no-repeat;
    background-size: 1000px;
    background-position: -100%; }
    .page--3 .swiper-slide, .page--3 .slide {
      background: transparent;
      text-align: left; }
      @media (max-width: 40em) {
        .page--3 .swiper-slide, .page--3 .slide {
          background-position: right bottom; } }
  .page--4 {
    background-color: #2b4888;
    background-image: url("/images/lab-dots.svg");
    background-repeat: no-repeat;
    background-size: 1000px;
    background-position: -100%; }
    .page--4 .swiper-slide, .page--4 .slide {
      text-align: left;
      background: transparent; }
      @media (max-width: 40em) {
        .page--4 .swiper-slide, .page--4 .slide {
          background-position: right bottom; } }
  .page--5 {
    background-color: #303030;
    background-image: url("/images/lab-dots.svg");
    background-repeat: no-repeat;
    background-size: 1000px;
    background-position: -100%; }
    .page--5 .swiper-slide, .page--5 .slide {
      text-align: left;
      background: transparent; }
      @media (max-width: 40em) {
        .page--5 .swiper-slide, .page--5 .slide {
          background-position: right bottom; } }
  .page--6 {
    background-color: #20394f;
    background-image: url("/images/lab-dots.svg");
    background-repeat: no-repeat;
    background-size: 1000px;
    background-position: 190% 80%; }
    .page--6 .swiper-slide, .page--6 .slide {
      text-align: left;
      background: transparent; }
      @media (max-width: 40em) {
        .page--6 .swiper-slide, .page--6 .slide {
          background-position: right bottom; } }

.post--1 {
  background-image: url("/images/post1.jpeg"); }

.brand {
  position: relative;
  text-align: center; }
  .brand--top {
    top: -10vh; }
    .brand--top img {
      width: 25rem; }
  .brand--bottom {
    top: 23vh; }
    .brand--bottom img {
      width: 18rem; }
      @media (max-width: 40em) {
        .brand--bottom img {
          width: 15rem; } }

.text-container h1 {
  font-size: 2rem; }
  @media (max-width: 40em) {
    .text-container h1 {
      font-size: 1.5rem !important;
      margin-top: -20px;
      margin-bottom: 0; } }
.text-container p {
  color: white;
  font-size: 1.2rem; }
  @media (max-width: 40em) {
    .text-container p {
      font-size: 1rem;
      margin-top: 0; } }
.text-container--slides {
  padding-top: 10vh; }
  .text-container--slides h1 {
    padding-bottom: 20px; }
.text-container--swiper {
  padding-top: 0; }
  .text-container--swiper h1 {
    padding-bottom: 20px;
    margin-top: 0; }

.button-container {
  text-align: center;
  font-size: 1rem;
  color: white; }
  .button-container a {
    background-color: transparent; }
  @media (max-width: 40em) {
    .button-container {
      font-size: .9rem;
      margin-top: 0; } }

.swiper-button-white {
  opacity: 0.3; }

.fp-enabled body #overlay {
  position: initial;
  overflow-y: scroll; }

#fp-nav {
  opacity: .5 !important; }

.fp-controlArrow {
  margin: 1% !important;
  border-width: 2rem !important;
  width: 2rem !important;
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  cursor: pointer;
  -moz-background-size: 27px 44px;
  -webkit-background-size: 27px 44px;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.3;
  border-style: none; }
  @media (max-width: 40em) {
    .fp-controlArrow {
      display: none !important; } }
  .fp-controlArrow:hover {
    opacity: 0.7; }

.fp-controlArrow.fp-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.fp-controlArrow.fp-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.fp-slidesNav.bottom {
  display: block;
  bottom: 25px; }

.fp-slidesNav ul li a span {
  border-radius: 0 !important; }

#fp-nav ul li a.active span, .fp-slidesNav ul li a.active span, #fp-nav ul li:hover a.active span, .fp-slidesNav ul li:hover a.active span {
  background: rgba(255, 255, 255, 0.8);
  width: 14px;
  height: 14px; }

#fp-nav ul li a span, .fp-slidesNav ul li a span {
  position: absolute;
  z-index: 1;
  width: 14px;
  height: 14px;
  margin: -6px 0 0 -6px;
  border: 0;
  background: rgba(255, 255, 255, 0.2);
  left: 50%;
  top: 50%; }

#fp-nav ul li, .fp-slidesNav ul li {
  width: 14px;
  height: 14px; }

.definition:not(.footnote) {
  font-weight: 700;
  text-decoration: none;
  background-color: rgba(170, 198, 255, 0.6);
  border-bottom: #91b4ff 2px solid;
  display: inline-block;
  height: 25px;
  background-size: 100% 200%;
  background-image: linear-gradient(to bottom, transparent 50%, #91b4ff 50%); }
  .definition:not(.footnote):hover {
    cursor: pointer;
    background-position: 0 100%; }

.footnote {
  font-size: .8rem;
  vertical-align: super;
  line-height: 0;
  display: inline;
  border-bottom: #91b4ff 1px solid;
  background-size: 100% 200%;
  background-image: linear-gradient(to bottom, transparent 50%, #91b4ff 50%);
  text-decoration: none; }
  .footnote:hover {
    cursor: pointer;
    background-position: 0 100%; }

.panel-footnote {
  font-size: .8rem;
  vertical-align: super;
  line-height: 0; }

.slide-panel__wrapper--full {
  z-index: 3;
  opacity: 0.98; }
  .slide-panel__wrapper--full .slide-panel-full {
    position: fixed;
    visibility: hidden;
    transition: visibility 0.5s; }
    .slide-panel__wrapper--full .slide-panel-full__close-trigger:hover {
      cursor: pointer; }
    .slide-panel__wrapper--full .slide-panel-full.is-visible {
      visibility: visible;
      transition: visibility 0s; }
      .slide-panel__wrapper--full .slide-panel-full.is-visible .slide-panel-full__container {
        transform: translate3d(0, 0, 0);
        transition-delay: 0s; }
    .slide-panel__wrapper--full .slide-panel-full__content {
      padding: 0 2rem; }
      .slide-panel__wrapper--full .slide-panel-full__content p {
        color: white;
        font-family: serif; }
      .slide-panel__wrapper--full .slide-panel-full__content a:not(.no-height) {
        color: white !important;
        font-weight: 700;
        text-decoration: none;
        border-bottom: #91b4ff 2px solid;
        display: inline-block;
        height: 25px;
        background-size: 100% 200%;
        background-image: linear-gradient(to bottom, transparent 50%, rgba(170, 198, 255, 0.6) 50%); }
        .slide-panel__wrapper--full .slide-panel-full__content a:not(.no-height):hover {
          cursor: pointer;
          background-position: 0 100%; }
    .slide-panel__wrapper--full .slide-panel-full .no-height {
      color: white !important;
      font-weight: 700;
      text-decoration: none;
      border-bottom: #91b4ff 2px solid;
      background-size: 100% 200%;
      background-image: linear-gradient(to bottom, transparent 50%, rgba(170, 198, 255, 0.6) 50%); }
      .slide-panel__wrapper--full .slide-panel-full .no-height:hover {
        cursor: pointer;
        background-position: 0 100%; }
    .slide-panel__wrapper--full .slide-panel-full__container {
      transform: translate3d(100%, 0, 0);
      overflow: scroll;
      overflow-x: hidden;
      z-index: 1;
      padding: 2rem;
      background-color: #20394f;
      position: fixed;
      display: inline;
      width: 50%;
      height: 100%;
      top: 0;
      right: 0;
      color: white;
      transition-property: transform;
      transition-duration: 0.3s;
      transition-delay: 0.3s;
      transform: translate3d(100%, 0, 0); }
      @media (max-width: 40em) {
        .slide-panel__wrapper--full .slide-panel-full__container {
          width: 100%; } }
      .slide-panel__wrapper--full .slide-panel-full__container i {
        color: rgba(255, 255, 255, 0.6); }
        .slide-panel__wrapper--full .slide-panel-full__container i:hover {
          color: white; }
    .slide-panel__wrapper--full .slide-panel-full i::before {
      content: 'close';
      font-size: 2rem; }

.about .page-section {
  padding-top: 50px;
  padding-bottom: 50px; }
  .about .page-section p {
    font-weight: lighter; }
  @media (max-width: 40em) {
    .about .page-section h5 {
      text-align: center;
      font-size: 1.2rem; } }
  .about .page-section--about {
    background-color: white; }
    .about .page-section--about a {
      color: #20394f; }
  .about .page-section--info {
    background-color: #20394f;
    color: white; }
  .about .page-section--timeline {
    background-color: white;
    color: #20394f; }
    .about .page-section--timeline h2 {
      text-align: center;
      font-size: 1.5rem;
      margin: 0;
      font-weight: bold; }
    .about .page-section--timeline table h6 {
      text-transform: uppercase;
      font-family: "Crimson Text", serif !important;
      margin: 0;
      padding-bottom: 5px;
      font-weight: bold; }
    .about .page-section--timeline table p {
      padding-top: 12px; }
    .about .page-section--timeline table ul {
      font-size: 1.1rem; }
    .about .page-section--timeline table td:first-of-type {
      text-align: right; }
    .about .page-section--timeline table td:nth-of-type(2) {
      padding-left: 10px; }
    .about .page-section--timeline table th:nth-of-type(2) {
      padding-left: 30px; }
    .about .page-section--timeline table th:first-of-type {
      text-align: right; }
    .about .page-section--timeline table th {
      background-color: white;
      color: #20394f; }
      .about .page-section--timeline table th p {
        font-weight: bold; }
  .about .page-section--team {
    color: #20394f;
    background-color: #ecf2ff; }
    .about .page-section--team h3 {
      font-size: 1.3rem;
      padding-bottom: 15px; }
    .about .page-section--team .member {
      padding-bottom: 25px; }
      @media (min-width: 64.063em) {
        .about .page-section--team .member {
          padding-left: 100px; } }
      @media (max-width: 40em) {
        .about .page-section--team .member {
          text-align: center; } }
      .about .page-section--team .member p {
        margin: 0; }
      .about .page-section--team .member .name {
        font-weight: bold; }
      .about .page-section--team .member .title, .about .page-section--team .member .association {
        font-weight: lighter; }
  .about .page-section--partners {
    background-color: white;
    color: #20394f; }
    .about .page-section--partners h3 {
      font-size: 1.3rem;
      padding-bottom: 15px; }
    .about .page-section--partners .partner-container {
      padding: 30px;
      width: 45%;
      opacity: .8; }
      @media (min-width: 40.063em) and (max-width: 64em) {
        .about .page-section--partners .partner-container {
          width: 50%; } }
      @media (max-width: 40em) {
        .about .page-section--partners .partner-container {
          width: 100%; } }
      .about .page-section--partners .partner-container:hover {
        opacity: 1; }
      .about .page-section--partners .partner-container--mayor {
        width: 35%; }
        @media (max-width: 40em) {
          .about .page-section--partners .partner-container--mayor {
            width: 90%; } }
      .about .page-section--partners .partner-container--dept {
        width: 22%; }
        @media (max-width: 40em) {
          .about .page-section--partners .partner-container--dept {
            width: 60%; } }
  .about .page-section--acknowledgments {
    background-color: #20394f;
    color: white; }
    .about .page-section--acknowledgments h3 {
      font-size: 1.3rem; }

.approach-page p, .about p, .results-page p, .conclusions p {
  font-weight: 400; }

.results-page .button {
  margin-top: 15px;
  margin-bottom: 5px;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.5);
  padding: 5px;
  padding-left: 8px;
  padding-right: 8px; }
  .results-page .button:hover {
    color: white;
    border: 2px solid white;
    background-color: rgba(255, 255, 255, 0.2); }

.chart {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  transition: background .4s linear;
  height: 500px;
  width: 100%; }
  @media (max-width: 40em) {
    .chart {
      height: 300px; } }
  .chart__top-panel, .chart__bottom-panel {
    text-align: center;
    background-color: #bbc7d6; }
  .chart__bottom-panel {
    display: none; }
    .chart__bottom-panel.active-tabs {
      display: flex; }
  .chart__top-caption, .chart__bottom-caption {
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    color: rgba(68, 68, 68, 0.6); }
  .chart__top-caption {
    padding: .4rem 1rem 0; }
  .chart__bottom-caption {
    padding: 0 1rem .3rem; }
  .chart__header {
    margin: 0.5rem 0 0 0 !important;
    padding: .2rem !important;
    font-size: 1.1rem !important;
    margin: 0;
    border: 1px #20394f solid;
    background-color: #bbc7d6; }
    .chart__header:hover {
      background-color: #ced7e1; }
  .chart__tab {
    padding: 0.7rem; }
  .chart__tab, .chart__header {
    text-transform: uppercase !important;
    text-decoration: none;
    font-weight: 600;
    color: rgba(68, 68, 68, 0.6);
    letter-spacing: 1px;
    font-size: .9rem;
    display: inline-block;
    cursor: pointer; }
    .chart__tab.active-chart, .chart__tab.active-tab, .chart__header.active-chart, .chart__header.active-tab {
      color: #20394f; }
  .chart__select {
    background-color: rgba(68, 68, 68, 0.6);
    color: white; }
    .chart__select h5 {
      font-size: 1.2rem;
      margin: .2rem; }

.button-wrapper .button {
  width: 100%; }

.chart-wrapper {
  margin: 0;
  padding: 0;
  background-color: #d4dce5; }

.chart-detail {
  background-color: #20394f;
  color: white;
  padding: 2rem !important; }
  .chart-detail h3 {
    margin: 0;
    font-size: 1.5rem; }
  .chart-detail h4 {
    margin: 0; }

.chart-definitions {
  display: none; }

[data-chart="arrests-for-disorderly-conduct"] {
  background-image: url("../images/charts/arrests-for-disorderly-conduct.png"); }

[data-chart="use-of-force"] {
  background-image: url("../images/charts/use-of-force.png"); }

[data-chart="civilian-complaints"] {
  background-image: url("../images/charts/complaints.png"); }

[data-chart="court-outcomes-prosecuted"] {
  background-image: url("../images/charts/prosecuted.png"); }

[data-chart="court-outcomes-found-guilty"] {
  background-image: url("../images/charts/found-guilty.png"); }

[data-chart="court-outcomes-found-not-guilty"] {
  background-image: url("../images/charts/found-not-guilty.png"); }

[data-chart="court-outcomes-entered-plea"] {
  background-image: url("../images/charts/entered-plea.png"); }

[data-chart="court-outcomes-not-pursued"] {
  background-image: url("../images/charts/not-pursued.png"); }

.conclusions .page-section--list {
  padding-top: 50px;
  background-color: #303030;
  color: white; }
  .conclusions .page-section--list .number {
    text-align: center; }
    .conclusions .page-section--list .number h2 {
      font-family: "Crimson Text", serif !important;
      font-size: 7rem;
      opacity: .1;
      margin: 0;
      font-weight: bold; }
  @media (min-width: 64.063em) {
    .conclusions .page-section--list .text {
      padding-right: 50px;
      padding-top: 20px; } }
  .conclusions .page-section--list .text ul {
    list-style: none;
    font-size: 1.1rem; }
    .conclusions .page-section--list .text ul li {
      padding-bottom: 15px; }
.conclusions .page-section--about {
  color: #20394f;
  background-color: white; }

.divider--blue {
  background-color: #20394f; }
.divider--black {
  background-color: #444444; }
.divider--red {
  background-color: #de4156; }
.divider--washed-blue {
  background-color: #2b4888; }
.divider--light-blue {
  background-color: #dde8ff; }
.divider--next div h1 {
  text-transform: uppercase;
  font-size: 17px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.3);
  text-align: left; }
.divider--next div h2 {
  text-align: left;
  text-transform: none;
  font-size: 18px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  transition: all .4s ease; }
  .divider--next div h2 .material-icons {
    vertical-align: middle;
    color: rgba(255, 255, 255, 0.3);
    margin-top: -3px; }
.divider--next div a #arrow {
  font-size: 1.6rem; }
.divider--next div a:hover {
  text-decoration: none; }
  .divider--next div a:hover h2 {
    color: white; }
  .divider--next div a:hover #arrow {
    color: white; }

.b-divider.m-next div a:hover h2 {
  color: white;
  transition: all .4s ease; }

.page-section .link,
.slide .link {
  font-weight: 700;
  text-decoration: none;
  border-bottom: #91b4ff 2px solid;
  display: inline-block;
  height: 25px;
  background-size: 100% 200%;
  background-image: linear-gradient(to bottom, transparent 50%, rgba(170, 198, 255, 0.6) 50%); }
  .page-section .link:hover,
  .slide .link:hover {
    cursor: pointer;
    background-position: 0 100%; }
.page-section .to-top-container,
.slide .to-top-container {
  margin-top: 80px; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .page-section .to-top-container,
    .slide .to-top-container {
      margin-top: 20px; } }
  .page-section .to-top-container i,
  .slide .to-top-container i {
    font-size: 2.5rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.3); }
    .page-section .to-top-container i:hover,
    .slide .to-top-container i:hover {
      cursor: pointer;
      color: white;
      border-color: white; }
  .page-section .to-top-container span,
  .slide .to-top-container span {
    width: 100%;
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 400;
    margin-bottom: -10px; }

#index {
  /* Landscape */ }
  @media (max-width: 40em) {
    #index .section {
      height: 100%; }
    #index .text-container {
      text-align: left; }
    #index .brand--bottom {
      top: 10vh; }
    #index .fp-tableCell {
      height: 100vh; }
    #index .slide {
      padding: 0; }
    #index .link {
      height: 1rem; }
    #index .fp-slidesNav.bottom {
      display: block; }
    #index .fp-tableCell {
      padding-top: 20px;
      height: 100% !important; } }
  @media only screen and (min-device-width: 320px) and (max-device-width: 750px) and (orientation: landscape) {
    #index .text-container {
      padding: 0 !important;
      line-height: 1.2rem; }
      #index .text-container h1 {
        font-size: 1.4rem !important; }
      #index .text-container p {
        padding-top: 0 !important;
        font-size: 1.15rem;
        margin-bottom: .5rem; }
    #index .brand--bottom {
      top: 10vh; }
    #index .link {
      height: 1rem; }
    #index .fp-slidesNav.bottom {
      bottom: 0; }
    #index .fp-tableCell {
      padding-top: 0px !important;
      height: 100% !important; }
    #index .fp-controlArrow {
      display: none !important; } }

.cbp-spmenu {
  background: #20394f;
  position: fixed;
  text-align: left;
  text-transform: uppercase;
  font-family: Montserrat, sans-serif;
  color: #99b9d5; }
  .cbp-spmenu #close-btn {
    background-color: #20394f !important;
    color: #99b9d5;
    font-size: 1.7rem;
    padding: 0;
    margin: 20px; }
    .cbp-spmenu #close-btn:hover {
      color: white; }
  .cbp-spmenu .about-span,
  .cbp-spmenu a {
    display: block;
    font-size: 1.2em;
    font-weight: 600;
    padding: 0.5em 0.5em 0.5em 25px; }
    .cbp-spmenu .about-span:hover,
    .cbp-spmenu a:hover {
      color: white;
      text-decoration: none; }
      .cbp-spmenu .about-span:hover svg,
      .cbp-spmenu a:hover svg {
        fill: white; }
    .cbp-spmenu .about-span svg,
    .cbp-spmenu a svg {
      margin-bottom: -1px;
      height: 15px;
      fill: #20394f;
      margin-right: 10px; }
  .cbp-spmenu .about-span {
    padding-bottom: 0 !important; }
    .cbp-spmenu .about-span:hover {
      color: #99b9d5; }
  .cbp-spmenu .about-link {
    padding: 0.1em;
    margin-left: 2.8em;
    font-weight: 400; }
    .cbp-spmenu .about-link svg {
      margin-bottom: -1px;
      border: 1px solid white;
      border-color: transparent; }

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
  width: 300px;
  height: 100%;
  top: 0; }

/* Vertical menu that slides from the left or right */
.cbp-spmenu-left {
  left: -300px; }

.cbp-spmenu-left.cbp-spmenu-open {
  left: 0; }

/* Push classes applied to the body */
.cbp-spmenu-push {
  overflow-x: hidden;
  position: relative;
  left: 0; }

.cbp-spmenu-push-toright {
  left: 300px; }

/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.active {
  fill: white; }
