/**
 * White theme for reveal.js. This is the opposite of the 'black' theme.
 *
 * By Hakim El Hattab, http://hakim.se
 */
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background .reveal .subhead, .reveal section.has-dark-background .subhead, section.has-dark-background h5, section.has-dark-background h6 {
  color: #fff; }

/*********************************************
 * GLOBAL STYLES
 *********************************************/
body {
  background: #fff;
  background-color: #fff; }

.reveal {
  font-family: "Source Sans Pro", Helvetica, sans-serif;
  font-size: 38px;
  font-weight: normal;
  color: #222; }

::selection {
  color: #fff;
  background: #247cf3;
  text-shadow: none; }

.reveal .slides > section,
.reveal .slides > section > section {
  line-height: 1.3;
  font-weight: inherit; }

/*********************************************
 * HEADERS
 *********************************************/
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4, .reveal .subhead,
.reveal h5,
.reveal h6,
.reveal .h1-style,
.reveal .h2-style,
.reveal .h3-style,
.reveal .h4-style,
.reveal .h5-style {
  margin: 0 0 20px 0;
  color: #222;
  font-family: "Source Sans Pro", Helvetica, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  text-shadow: none;
  word-wrap: break-word; }

.reveal h1, .reveal .h1-style {
  font-size: 2.5em; }

.reveal h2, .reveal .h2-style {
  font-size: 1.6em; }

.reveal h3, .reveal .h3-style {
  font-size: 1.3em; }

.reveal h4, .reveal .subhead, .reveal .h4-style {
  font-size: 1em; }

.reveal h1,
.reveal .h1-style {
  text-shadow: none; }

/*********************************************
 * OTHER
 *********************************************/
.reveal p {
  margin: 20px 0;
  line-height: 1.3; }

/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
  max-width: 95%;
  max-height: 95%; }

.reveal strong,
.reveal b {
  font-weight: bold; }

.reveal em {
  font-style: italic; }

.reveal ol,
.reveal dl,
.reveal ul {
  display: inline-block;
  text-align: left;
  margin: 0 0 0 1em; }

.reveal ol {
  list-style-type: decimal; }

.reveal ul {
  list-style-type: disc; }

.reveal ul ul {
  list-style-type: square; }

.reveal ul ul ul {
  list-style-type: circle; }

.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
  display: block;
  margin-left: 40px; }

.reveal dt {
  font-weight: bold; }

.reveal dd {
  margin-left: 40px; }

.reveal q,
.reveal blockquote {
  quotes: none; }

.reveal blockquote {
  display: block;
  position: relative;
  width: 70%;
  margin: 20px auto;
  padding: 5px;
  font-style: italic;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }

.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
  display: inline-block; }

.reveal q {
  font-style: italic; }

.reveal pre {
  display: block;
  position: relative;
  width: 90%;
  margin: 20px auto;
  text-align: left;
  font-size: 0.55em;
  font-family: monospace;
  line-height: 1.2em;
  word-wrap: break-word;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }

.reveal code {
  font-family: monospace; }

.reveal pre code {
  display: block;
  padding: 5px;
  overflow: auto;
  max-height: 400px;
  word-wrap: normal; }

.reveal table {
  margin: auto;
  border-collapse: collapse;
  border-spacing: 0; }

.reveal table th {
  font-weight: bold; }

.reveal table th,
.reveal table td {
  text-align: left;
  padding: 0.2em 0.5em 0.2em 0.5em;
  border-bottom: 1px solid; }

.reveal table th[align="center"],
.reveal table td[align="center"] {
  text-align: center; }

.reveal table th[align="right"],
.reveal table td[align="right"] {
  text-align: right; }

.reveal table tr:last-child td {
  border-bottom: none; }

.reveal sup {
  vertical-align: super; }

.reveal sub {
  vertical-align: sub; }

.reveal small {
  display: inline-block;
  font-size: 0.6em;
  line-height: 1.2em;
  vertical-align: top; }

.reveal small * {
  vertical-align: top; }

/*********************************************
 * LINKS
 *********************************************/
.reveal a {
  color: #0D6EF1;
  text-decoration: none;
  -webkit-transition: color .15s ease;
  -moz-transition: color .15s ease;
  transition: color .15s ease; }

.reveal a:hover {
  color: #5599f6;
  text-shadow: none;
  border: none; }

.reveal .roll span:after {
  color: #fff;
  background: #094da8; }

/*********************************************
 * IMAGES
 *********************************************/
.reveal section img {
  margin: 15px 0px;
  background: rgba(255, 255, 255, 0.12);
  border: 4px solid #222;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }

.reveal section img.plain {
  border: 0;
  box-shadow: none; }

.reveal a img {
  -webkit-transition: all .15s linear;
  -moz-transition: all .15s linear;
  transition: all .15s linear; }

.reveal a:hover img {
  background: rgba(255, 255, 255, 0.2);
  border-color: #0D6EF1;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }

/*********************************************
 * NAVIGATION CONTROLS
 *********************************************/
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
  border-right-color: #0D6EF1; }

.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
  border-left-color: #0D6EF1; }

.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
  border-bottom-color: #0D6EF1; }

.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
  border-top-color: #0D6EF1; }

.reveal .controls .navigate-left.enabled:hover {
  border-right-color: #5599f6; }

.reveal .controls .navigate-right.enabled:hover {
  border-left-color: #5599f6; }

.reveal .controls .navigate-up.enabled:hover {
  border-bottom-color: #5599f6; }

.reveal .controls .navigate-down.enabled:hover {
  border-top-color: #5599f6; }

/*********************************************
 * PROGRESS BAR
 *********************************************/
.reveal .progress {
  background: rgba(0, 0, 0, 0.2); }

.reveal .progress span {
  background: #0D6EF1;
  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }

.reveal ul.code {
  border: 2px solid;
  font-family: Menlo, Courier, monospace;
  list-style: none; }
  .reveal ul.code li {
    border-top: 2px  solid;
    padding: 10px; }
    .reveal ul.code li:first-child {
      border-top: none; }
    .reveal ul.code li:nth-child(2n) {
      background-color: #eae5e5; }

.reveal .subhead {
  display: block;
  font-size: 0.75em;
  font-style: italic;
  font-weight: bold; }

.reveal .border-after {
  display: inline-block;
  position: relative; }
  .reveal .border-after:after {
    border-bottom: 4px solid;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    top: -10px;
    width: 100%; }

.reveal .all-caps {
  text-transform: uppercase; }

.reveal .offscreen {
  position: absolute;
  left: -500000px; }

.reveal .progress {
  background-color: #BFC9D3;
  height: 15px; }
  .reveal .progress span {
    background: #8dc63f;
    box-shadow: 2px 1px 3px #666; }

.reveal .controls {
  bottom: 110px; }

.reveal pre code, .reveal code {
  font-family: Menlo, Courier, monospace;
  max-height: 520px; }

.reveal pre.large {
  font-size: 0.75em; }

.reveal figure.code {
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  width: 90%; }
  .reveal figure.code *, .reveal figure.code *:before, .reveal figure.code *:after {
    box-sizing: border-box; }
  .reveal figure.code pre {
    box-shadow: none;
    margin-bottom: 0;
    width: 100%; }
    .reveal figure.code pre + figcaption {
      background-color: #333;
      color: #fff;
      font-size: 0.8em;
      font-style: normal;
      font-weight: bold;
      margin-bottom: 25px;
      padding: 10px 0 10px 20px;
      width: 100%; }
      .reveal figure.code pre + figcaption a {
        color: #fff;
        text-decoration: underline; }

.reveal .regular-case, .reveal .subhead {
  text-transform: none; }

.reveal .subhead {
  font-style: italic; }

.reveal .plain {
  background-color: transparent; }

/*********************************************
 * LAYOUTS
 *********************************************/
.reveal li .twoThirdsCol {
  padding-top: 2%; }
  .reveal li .twoThirdsCol small {
    clear: both;
    display: block;
    text-align: center; }

.reveal .wideCol {
  vertical-align: top;
  width: 54%; }
  .reveal .wideCol.twoThirdsCol {
    float: left; }

.reveal .skinnyCol {
  vertical-align: top;
  width: 44%; }
  .reveal .skinnyCol.twoThirdsCol {
    float: left;
    margin-right: 2%; }

.reveal .twoThirdsCol pre {
  font-size: .59em;
  margin-top: 0;
  width: 100%; }

.reveal .halfCol {
  display: inline-block;
  width: 48%; }

.reveal .layeredFragments {
  margin: 0 auto;
  min-height: 1000px;
  position: relative;
  width: 100%; }
  .reveal .layeredFragments > img,
  .reveal .layeredFragments > figure {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: 0;
    width: 100%; }
  .reveal .layeredFragments.wordcloud {
    position: absolute;
    top: 0; }
    .reveal .layeredFragments.wordcloud .fragment {
      position: absolute; }

.reveal .responsive-video {
  position: relative;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden;
  width: 100%; }
  .reveal .responsive-video iframe, .reveal .responsive-video object, .reveal .responsive-video embed, .reveal .responsive-video video {
    position: absolute;
    top: 0;
    left: 0;
    max-height: 720px;
    width: 100%;
    height: 100%; }

/*********************************************
 * Custom Slides
 *********************************************/
.deque-title-slide.slide-background:after {
  background-color: #BFC9D3;
  bottom: 0;
  content: '';
  display: block;
  height: 100px;
  max-height: 10%;
  position: absolute;
  width: 100%; }

.deque-title-slide .left {
  float: left; }

.deque-title-slide img.deque {
  max-width: 400px;
  margin: -8% 0 0; }

.deque-title-slide .right {
  float: right;
  padding-top: 8%;
  text-align: left;
  width: 65%; }

@media screen and (max-width: 1024px) {
  .deque-title-slide.slide-background:after {
    display: none; }
  .deque-title-slide .left img.deque {
    max-width: 300px; }
  .deque-title-slide .right h1 {
    font-size: 1.5em; } }

@media screen and (max-width: 600px) {
  .deque-title-slide .left {
    float: none; }
    .deque-title-slide .left img.deque {
      margin: 0 auto; }
  .deque-title-slide .right {
    float: none;
    margin: 0 auto;
    width: 90%; }
    .deque-title-slide .right h1 {
      font-size: 1.5em;
      text-align: center; }
    .deque-title-slide .right p {
      font-size: 0.75em; } }

.reveal ul.thumbsup {
  list-style-image: url(../../img/thumbsup-sm.png);
  list-style-position: inside; }

.imgCarousel button {
  display: inline-block;
  max-width: 20%;
  vertical-align: middle;
  transition: max-width 0.5s ease-out; }
  .imgCarousel button:after {
    content: '';
    display: block;
    font-size: 1.5em;
    font-weight: bold;
    margin: 0.5em 0; }
  .imgCarousel button:hover, .imgCarousel button:focus {
    max-width: 50%; }
    .imgCarousel button:hover:after, .imgCarousel button:focus:after {
      content: attr(data-alt); }

.imgCarousel img {
  height: 100%;
  width: 100%; }

#oh-hai-images {
  margin-top: 1em;
  text-align: center; }
  #oh-hai-images img, #oh-hai-images div {
    display: inline-block;
    vertical-align: middle; }
  #oh-hai-images div {
    max-width: 320px;
    margin: 0 20px 0 10px;
    text-align: center; }
  #oh-hai-images .angular {
    max-width: 300px; }
  #oh-hai-images .axe {
    background-color: #fff;
    padding: 10px;
    width: 300px; }
  #oh-hai-images .gdi {
    max-width: 250px; }
  #oh-hai-images .slack {
    max-width: 320px; }
