@font-face {
  font-family: 'Fakt';
  src: url("../fonts/FaktPro-Normal.eot?#iefix") format("embedded-opentype"), url("../fonts/FaktPro-Normal.otf") format("opentype"), url("../fonts/FaktPro-Normal.woff") format("woff"), url("../fonts/FaktPro-Normal.ttf") format("truetype"), url("../fonts/FaktPro-Normal.svg#FaktPro-Normal") format("svg");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: 'Fakt';
  src: url("../fonts/FaktPro-NormalItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/FaktPro-NormalItalic.otf") format("opentype"), url("../fonts/FaktPro-NormalItalic.woff") format("woff"), url("../fonts/FaktPro-NormalItalic.ttf") format("truetype"), url("../fonts/FaktPro-NormalItalic.svg#FaktPro-NormalItalic") format("svg");
  font-weight: 400;
  font-style: italic; }
@font-face {
  font-family: 'Fakt';
  src: url("../fonts/FaktPro-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/FaktPro-Bold.otf") format("opentype"), url("../fonts/FaktPro-Bold.woff") format("woff"), url("../fonts/FaktPro-Bold.ttf") format("truetype"), url("../fonts/FaktPro-Bold.svg#FaktPro-Bold") format("svg");
  font-weight: 700;
  font-style: normal; }
@font-face {
  font-family: 'Fakt';
  src: url("../fonts/FaktPro-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/FaktPro-BoldItalic.otf") format("opentype"), url("../fonts/FaktPro-BoldItalic.woff") format("woff"), url("../fonts/FaktPro-BoldItalic.ttf") format("truetype"), url("../fonts/FaktPro-BoldItalic.svg#FaktPro-BoldItalic") format("svg");
  font-weight: 700;
  font-style: italic; }
@font-face {
  font-family: 'Fakt';
  src: url("../fonts/FaktSmConPro-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/FaktSmConPro-Black.otf") format("opentype"), url("../fonts/FaktSmConPro-Black.woff") format("woff"), url("../fonts/FaktSmConPro-Black.ttf") format("truetype"), url("../fonts/FaktSmConPro-Black.svg#FaktSmConPro-Black") format("svg");
  font-weight: 900;
  font-style: normal; }
@font-face {
  font-family: 'Fakt';
  src: url("../fonts/FaktSmConPro-BlackItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/FaktSmConPro-BlackItalic.otf") format("opentype"), url("../fonts/FaktSmConPro-BlackItalic.woff") format("woff"), url("../fonts/FaktSmConPro-BlackItalic.ttf") format("truetype"), url("../fonts/FaktSmConPro-BlackItalic.svg#FaktSmConPro-BlackItalic") format("svg");
  font-weight: 900;
  font-style: italic; }
/**
 * Remove focus outline on all elements -- fix the square that would appear around the play icon on Android
 */
*:focus {
  outline: none; }

/* Remove tap highlight on iOS */
input,
textarea,
button,
select,
label,
a {
  -webkit-tap-highlight-color: transparent; }

/**
 * Reset some basic elements
 */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
  margin: 0;
  padding: 0; }

/**
 * Basic styling
 */
body {
  font: 400 20px/1.5 "Fakt", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #fafafa;
  background-color: #222222;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" 1;
  -moz-font-feature-settings: "kern" 1;
  -o-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  font-kerning: normal; }

/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure,
.highlight {
  margin-bottom: 15px; }

/**
 * Images
 */
img {
  max-width: 100%;
  vertical-align: middle; }

/**
 * Figures
 */
figure > img {
  display: block; }

figcaption {
  font-size: 17.5px; }

/**
 * Lists
 */
ul, ol {
  margin-left: 30px; }

li > ul,
li > ol {
  margin-bottom: 0; }

/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

/**
 * Links
 */
a {
  color: #00c993;
  text-decoration: none;
  transition: 0.2s; }
  a:hover {
    color: #63ffd5;
    text-decoration: none; }

/**
 * Blockquotes
 */
blockquote {
  color: #30ffc7; }
  blockquote > :last-child {
    margin-bottom: 0; }

/**
 * Code formatting
 */
pre,
code {
  font-size: 15px;
  border: 1px solid #96ffe3;
  border-radius: 3px;
  background-color: #eef; }

code {
  padding: 1px 5px; }

pre {
  padding: 8px 12px;
  overflow-x: auto; }
  pre > code {
    border: 0;
    padding-right: 0;
    padding-left: 0; }

/**
 * Wrapper
 */
.wrapper {
  max-width: -webkit-calc(800px - (30px * 2));
  max-width: calc(800px - (30px * 2));
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px; }
  @media screen and (max-width: 800px) {
    .wrapper {
      max-width: -webkit-calc(800px - (30px));
      max-width: calc(800px - (30px));
      padding-right: 15px;
      padding-left: 15px; } }

/**
 * Clearfix
 */
.wrapper:after {
  content: "";
  display: table;
  clear: both; }

/**
 * Icons
 */
.icon > svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle; }
  .icon > svg path {
    fill: #00c993; }

/********************
 Welcome Pages
********************/
.welcome {
  position: relative;
  min-height: 340px;
  padding: 0 0.5em; }
  @media screen and (min-height: 600px) {
    .welcome {
      padding-top: 3vh; } }

.welcome h1 {
  text-align: center; }

.welcome .slick-container {
  padding: 0 0.5em;
  position: relative; }

.welcome .slick .centered {
  text-align: center; }

.welcome .slick .prompt {
  background-color: #00c993;
  color: white;
  max-width: 450px;
  margin: 0 auto 0.5em auto;
  padding: 0.25em 0.5em;
  border-radius: 2px;
  transition: 0.3s; }
  .welcome .slick .prompt:hover, .welcome .slick .prompt:active, .welcome .slick .prompt:focus {
    background-color: #00fcb8; }

.button-forward {
  width: 32px;
  height: 32px;
  display: inline-block;
  float: right; }

.welcome .slick p {
  text-align: left;
  max-width: 450px;
  margin: 0 auto 1em auto;
  font-size: 17.5px; }
  .welcome .slick p img {
    max-width: 100%;
    height: auto;
    margin: 0 auto; }
  .welcome .slick p .screenshot {
    box-shadow: 0 0 9px 2px rgba(255, 243, 233, 0.1);
    max-width: 220px;
    height: auto; }
  @media screen and (min-height: 600px) {
    .welcome .slick p {
      font-size: 20px; } }

.styled-button {
  border: none;
  background: #00c993;
  border-radius: 5px;
  color: #fafafa;
  padding: 0.5em 1em;
  font-family: "Fakt", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  cursor: pointer;
  -webkit-appearance: none;
  transition: 0.3s; }
  .styled-button:hover, .styled-button:active, .styled-button:focus {
    background-color: #00fcb8; }

.prompt-big .styled-button {
  width: 96px;
  height: 96px; }

.welcome .slick div {
  overflow: hidden; }

.slick-dots li button:before {
  color: white !important;
  opacity: 0.5 !important; }

.slick-dots li.slick-active button:before {
  color: #00c993 !important;
  opacity: 1 !important; }

.skip-text {
  text-align: center;
  width: 100%; }

.welcome-example-icon {
  box-shadow: 0 0 9px 2px rgba(255, 243, 233, 0.1);
  width: 96px;
  height: 96px;
  margin: 0 auto; }

/********************
 Connected Page
********************/
.connected-page h1, .connected-page h2, .connected-page h3, .connected-page h4, .connected-page h5, .connected-page h6, .connected-page p {
  text-align: center; }

/********************
 Partner Logos
********************/
.partner-logos {
  display: block;
  border-top: 1px solid #383838;
  padding-top: 1em;
  text-align: right; }
  .partner-logos img {
    display: inline-block;
    margin-bottom: 1em;
    opacity: 0.2;
    transition: 0.3s; }
  .partner-logos img:hover {
    opacity: 1; }
  .partner-logos .logo {
    width: auto;
    max-height: 50px;
    margin-left: 2em;
    float: right; }

/********************
 Site header
 *******************/
.site-header-wrapper {
  max-width: -webkit-calc(800px - (30px * 0));
  max-width: calc(800px - (30px * 0));
  margin: 0 auto;
  padding: 0; }

.site-header {
  height: 96px;
  background: #00c993;
  /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left, #e2063a, #0470c3, #00c993);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, #e2063a, #0470c3, #00c993);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, #e2063a, #0470c3, #00c993);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(to right, #e2063a, #0470c3, #00c993);
  /* Standard syntax */
  text-align: center; }

.site-header a {
  display: inline-block;
  vertical-align: middle; }

.site-header img {
  display: inline-block;
  height: auto;
  max-width: 100%;
  max-height: 100px; }

.site-header-back-button {
  float: left; }
  .site-header-back-button img {
    width: 64px;
    height: 64px;
    padding: 16px 16px;
    transition: 0.3s; }
    .site-header-back-button img:hover, .site-header-back-button img:active, .site-header-back-button img:focus {
      background-color: #00c993; }

.site-header-menu-button {
  /*   transform: rotate(180deg); */
  float: right; }
  .site-header-menu-button img {
    width: 64px;
    height: 64px;
    padding: 16px 16px;
    transition: 0.3s; }
    .site-header-menu-button img:hover, .site-header-menu-button img:active, .site-header-menu-button img:focus {
      background-color: #00c993; }

.site-title {
  max-width: 60%; }
  .site-title img {
    width: 100%;
    height: 80px;
    padding: 8px 0; }

@media screen and (max-width: 640px) {
  .site-header-back-button img {
    width: 32px !important;
    height: 32px !important;
    padding: 16px 8px; }

  .site-header-menu-button img {
    width: 32px !important;
    height: 32px !important;
    padding: 16px 8px; }

  .site-title img {
    width: auto;
    height: 40px;
    padding: 12px 0; }

  .site-header {
    height: 64px; } }
@media screen and (max-width: 310px) {
  .site-header-menu-button img {
    display: none; } }
/********************
  Slide Menu
********************/
.slide-menu {
  display: block;
  background-color: #1B1B1B;
  transition: 0.3s;
  transform: perspective(1000px) translate3d(0, 10px, -10px);
  height: 0px;
  opacity: 0;
  overflow: hidden;
  z-index: 5; }
  .slide-menu h1, .slide-menu h2, .slide-menu h3, .slide-menu h4, .slide-menu h5, .slide-menu h6 {
    margin: 0;
    text-align: center;
    font-size: 24px; }
  .slide-menu ul {
    max-width: -webkit-calc(800px - (30px * 2));
    max-width: calc(800px - (30px * 2));
    margin: 0 auto;
    padding: 0; }

.slide-menu-show {
  display: block;
  transition: 0.3s;
  transform: perspective(1000px) translate3d(0, 0, 0);
  opacity: 1;
  height: auto;
  padding-bottom: 1.5em; }

/**
 * Page content
 */
.page-content {
  padding: 15px 0; }

.page-heading {
  font-size: 20px; }

.post-list {
  margin-left: 0;
  list-style: none;
  text-align: center; }
  .post-list li {
    display: inline-block;
    margin: 0;
    line-height: 0;
    text-align: center;
    vertical-align: center; }
    .post-list li a {
      margin: 0px 5px 5px 5px;
      background-size: 100%;
      color: #fafafa;
      box-sizing: border-box;
      width: 15vw;
      height: 15vw;
      max-width: 160px;
      max-height: 160px;
      display: inline-block;
      border-radius: 2px;
      position: relative;
      padding: 0; }
      .post-list li a:hover, .post-list li a:active, .post-list li a:focus {
        background-color: #00fcb8; }
      @media screen and (max-width: 640px) {
        .post-list li a {
          box-sizing: border-box;
          width: 33vw;
          height: 33vw;
          max-width: 250px;
          max-height: 250px; } }
      @media screen and (max-width: 440px) {
        .post-list li a {
          box-sizing: border-box;
          width: 40vw;
          height: 40vw;
          max-width: 250px;
          max-height: 250px; } }

.post-link-creator-name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
  color: #fafafa;
  font-size: 13px;
  font-weight: 400;
  padding: 1em 0; }
  @media screen and (max-width: 640px) {
    .post-link-creator-name {
      font-size: 12px; } }

.post-meta {
  font-size: 17.5px;
  color: #00c993; }

.post-link {
  display: block;
  font-size: 24px; }

.post-item {
  text-align: center;
  line-height: 0;
  display: block;
  margin-top: 32px; }
  @media screen and (max-width: 640px) {
    .post-item {
      margin-top: 28px; } }

/********************
 * Posts
 *******************/
.post-header {
  margin-bottom: 15px;
  min-height: 3em; }

.post-title {
  font-size: 26px;
  line-height: 1; }
  @media screen and (max-width: 800px) {
    .post-title {
      font-size: 22px; } }

.post-title-episode {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #383838; }
  .post-title-episode .post-header-avatar {
    max-width: 80px;
    display: inline-block;
    margin-bottom: 1em; }
    .post-title-episode .post-header-avatar img {
      border-radius: 50%; }
  .post-title-episode .post-header-stop-id {
    color: #ffffff;
    display: inline-block;
    font-size: 26px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    vertical-align: center;
    border-radius: 2px;
    margin: 0 auto;
    background-size: 100%;
    color: #fafafa;
    width: 64px;
    height: 64px; }
    .post-title-episode .post-header-stop-id span {
      text-align: center;
      line-height: 0;
      display: inline-block;
      margin-top: 32px; }
  .post-title-episode .post-header-section-title {
    display: inline-block;
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    line-height: 26px;
    margin-top: 0;
    margin-bottom: 0.25em;
    margin-left: 0.25em;
    text-align: center; }
  .post-title-episode .post-header-title {
    color: #00c993;
    font-size: 20px;
    line-height: 26px;
    margin-top: 0;
    margin-bottom: 0;
    text-align: center;
    padding-top: 0.5em;
    border-top: 1px solid #383838;
    text-align: left; }

.post-content {
  margin-bottom: 106px; }
  .post-content h2 {
    font-size: 26px; }
    @media screen and (max-width: 800px) {
      .post-content h2 {
        font-size: 22px; } }
  .post-content h3 {
    font-size: 20px;
    color: #00c993; }
  .post-content h4 {
    font-size: 18px; }
    @media screen and (max-width: 800px) {
      .post-content h4 {
        font-size: 16px; } }
  .post-content .credit-title {
    color: #c7c7c7; }
    @media screen and (max-width: 640px) {
      .post-content .credit-title {
        display: block; } }
  @media screen and (max-width: 640px) {
    .post-content .hidden-mobile {
      display: none; } }

/*********************************************
Hero images on audio guide stop pages
*********************************************/
.post-hero-image-container {
  margin-bottom: 0.5em;
  background-color: #1B1B1B;
  border-radius: 5px; }

.post-hero-image {
  width: 100%;
  padding: 0 0;
  margin: 0 auto 0 auto;
  text-align: center; }
  .post-hero-image img {
    width: 100%;
    height: auto;
    display: inline-block; }

.slick-post-hero-image button.slick-arrow {
  opacity: 0.3; }
  @media screen and (max-width: 800px) {
    .slick-post-hero-image button.slick-arrow {
      display: none !important; } }

.slick-prev:before, .slick-next:before {
  font-size: 25px; }

.slick-prev, .slick-next {
  width: 25px;
  height: 25px; }

.slick-next {
  right: -35px; }

.slick-prev {
  left: -35px; }

/*********************************************
Audio Player Styling
*********************************************/
.jp-audio {
  position: relative; }

.audio-footer-container {
  background-color: #0e0e0e;
  bottom: 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
  width: 100%; }

.audio-player {
  padding: 0 0.25em;
  background: none;
  margin-left: auto;
  margin-right: auto;
  max-width: -webkit-calc(800px - (30px * 2));
  max-width: calc(800px - (30px * 2)); }

.player-now-playing {
  display: block;
  font-size: 13px;
  line-height: 13px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  text-align: center; }
  .player-now-playing p {
    padding-top: 6.5px;
    padding-bottom: 6.5px;
    margin-bottom: 0; }

.player-buttons {
  height: 64px;
  overflow: hidden;
  position: relative;
  text-align: center;
  margin-top: 6px; }
  .player-buttons .player-buttons-prev-number {
    float: right;
    line-height: 48px;
    vertical-align: top;
    color: #00c993; }
  .player-buttons .player-buttons-next-number {
    float: left;
    line-height: 48px;
    vertical-align: top;
    color: #00c993; }
  .player-buttons .player-buttons-prev {
    display: inline-block;
    text-align: left;
    position: absolute;
    left: 0; }
    .player-buttons .player-buttons-prev a {
      background: url("../img/icons/button_prev.svg");
      background-size: 48px;
      width: 48px;
      height: 48px;
      display: inline-block;
      line-height: 64px;
      margin: 0;
      padding: 0;
      z-index: 10000; }
  .player-buttons .player-buttons-next {
    display: inline-block;
    text-align: right;
    position: absolute;
    right: 0; }
    .player-buttons .player-buttons-next a {
      background: url("../img/icons/button_next.svg");
      background-size: 48px;
      width: 48px;
      height: 48px;
      display: inline-block;
      line-height: 64px;
      margin: 0;
      padding: 0;
      text-align: right;
      z-index: 10000; }

.jp-progress {
  width: 100%;
  height: 10px;
  margin: 0 0 0 0;
  border-radius: 3px;
  background: #004a36;
  position: relative; }
  .jp-progress .jp-current-time {
    position: absolute;
    left: 0;
    font-size: 13px; }
  .jp-progress .jp-duration {
    position: absolute;
    right: 0;
    font-size: 13px; }

.jp-play-bar {
  height: 10px;
  border-radius: 3px;
  background: #00b080;
  /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left, #e2063a, #0470c3, #00c993);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, #e2063a, #0470c3, #00c993);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, #e2063a, #0470c3, #00c993);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(to right, #e2063a, #0470c3, #00c993);
  /* Standard syntax */ }

.jp-controls button.jp-play {
  background: none;
  width: 48px;
  height: 48px;
  background: url("../img/icons/button_play.svg");
  background-size: 44px;
  border: 2px solid #aaaaaa !important;
  border-radius: 32px !important; }
  .jp-controls button.jp-play:hover {
    border-color: #00c993 !important; }

.jp-state-playing button.jp-play {
  background: url("../img/icons/button_pause.svg");
  background-size: 48px;
  background-size: 44px; }

audio {
  margin: 0 auto;
  display: block; }

/******************************************
  Additional code breakers specific styling
******************************************/
hr {
  height: 5px;
  width: 125px;
  margin: 1em auto;
  border-radius: 0px;
  border: none;
  background: #00b080;
  /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left, #e2063a, #0470c3, #00c993);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, #e2063a, #0470c3, #00c993);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, #e2063a, #0470c3, #00c993);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(to right, #e2063a, #0470c3, #00c993);
  /* Standard syntax */ }

.index_page_text {
  text-align: center; }

.looks-like-a-link {
  color: #00c993; }

/**
 * Syntax highlighting styles
 */
.highlight {
  background: #fff; }
  .highlighter-rouge .highlight {
    background: #eef; }
  .highlight .c {
    color: #998;
    font-style: italic; }
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2; }
  .highlight .k {
    font-weight: bold; }
  .highlight .o {
    font-weight: bold; }
  .highlight .cm {
    color: #998;
    font-style: italic; }
  .highlight .cp {
    color: #999;
    font-weight: bold; }
  .highlight .c1 {
    color: #998;
    font-style: italic; }
  .highlight .cs {
    color: #999;
    font-weight: bold;
    font-style: italic; }
  .highlight .gd {
    color: #000;
    background-color: #fdd; }
  .highlight .gd .x {
    color: #000;
    background-color: #faa; }
  .highlight .ge {
    font-style: italic; }
  .highlight .gr {
    color: #a00; }
  .highlight .gh {
    color: #999; }
  .highlight .gi {
    color: #000;
    background-color: #dfd; }
  .highlight .gi .x {
    color: #000;
    background-color: #afa; }
  .highlight .go {
    color: #888; }
  .highlight .gp {
    color: #555; }
  .highlight .gs {
    font-weight: bold; }
  .highlight .gu {
    color: #aaa; }
  .highlight .gt {
    color: #a00; }
  .highlight .kc {
    font-weight: bold; }
  .highlight .kd {
    font-weight: bold; }
  .highlight .kp {
    font-weight: bold; }
  .highlight .kr {
    font-weight: bold; }
  .highlight .kt {
    color: #458;
    font-weight: bold; }
  .highlight .m {
    color: #099; }
  .highlight .s {
    color: #d14; }
  .highlight .na {
    color: #008080; }
  .highlight .nb {
    color: #0086B3; }
  .highlight .nc {
    color: #458;
    font-weight: bold; }
  .highlight .no {
    color: #008080; }
  .highlight .ni {
    color: #800080; }
  .highlight .ne {
    color: #900;
    font-weight: bold; }
  .highlight .nf {
    color: #900;
    font-weight: bold; }
  .highlight .nn {
    color: #555; }
  .highlight .nt {
    color: #000080; }
  .highlight .nv {
    color: #008080; }
  .highlight .ow {
    font-weight: bold; }
  .highlight .w {
    color: #bbb; }
  .highlight .mf {
    color: #099; }
  .highlight .mh {
    color: #099; }
  .highlight .mi {
    color: #099; }
  .highlight .mo {
    color: #099; }
  .highlight .sb {
    color: #d14; }
  .highlight .sc {
    color: #d14; }
  .highlight .sd {
    color: #d14; }
  .highlight .s2 {
    color: #d14; }
  .highlight .se {
    color: #d14; }
  .highlight .sh {
    color: #d14; }
  .highlight .si {
    color: #d14; }
  .highlight .sx {
    color: #d14; }
  .highlight .sr {
    color: #009926; }
  .highlight .s1 {
    color: #d14; }
  .highlight .ss {
    color: #990073; }
  .highlight .bp {
    color: #999; }
  .highlight .vc {
    color: #008080; }
  .highlight .vg {
    color: #008080; }
  .highlight .vi {
    color: #008080; }
  .highlight .il {
    color: #099; }
