/*********************************************
 * GLOBAL FONTS
 *********************************************/

@import url(http://fonts.googleapis.com/css?family=Source+Code+Pro:400,200,600);

@font-face {
    font-family: 'Montserrat';
    src: url('../../fonts/montserrat-ultralight-webfont.woff2') format('woff2'),
         url('../../fonts/montserrat-ultralight-webfont.woff') format('woff'),
         url('../../fonts/montserrat-ultralight-webfont.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../../fonts/montserrat-regular-webfont.woff2') format('woff2'),
         url('../../fonts/montserrat-regular-webfont.woff') format('woff'),
         url('../../fonts/montserrat-regular-webfont.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

/*********************************************
 * GLOBAL STYLES
 *********************************************/

body {
    background: #fff;
    background-color: #fff;
}

.reveal {
    font-family: 'Montserrat', Helvetica, sans-serif;
    font-size: 40px;
    font-weight: 200;
    color: #222; 
}

::selection {
    color: #fff;
    background: #98bdef;
    text-shadow: none;
}

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

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 h5, section.has-dark-background h6 {
    color: #fff; 
}

/*********************************************
 * HEADERS
 *********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
    margin: 0 0 20px 0;
    color: #222;
    font-family: 'Montserrat', Helvetica, sans-serif;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: uppercase;
    text-shadow: none;
    word-wrap: break-word;
}

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

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

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

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

.reveal h1 {
    text-shadow: none;
}

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

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

.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;
}

/* CODE BLOCKS */

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

.reveal code {
  font-family: monospace; 
  /*padding: 20px;*/
}

.reveal pre code {
  display: block;
  padding: 20px;
  overflow: auto;
  word-wrap: normal;
  background: repeating-linear-gradient(
    -45deg,
    #EFF2F2,
    #EFF2F2 10px,
    #E8EBEB 10px,
    #E8EBEB 20px
  );
}

/* TABLE */
.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: #444;
    font-style: italic;
    text-decoration: none;
    -webkit-transition: color 0.15s ease;
    -moz-transition: color 0.15s ease;
    transition: color 0.15s ease; 
}

.reveal p a {
    font-size: .8em;
    font-weight: 100;
}

.reveal a:hover {
    color: gray;
    text-shadow: none;
    border: none; 
}

.reveal .roll span:after {
    color: #fff;
    background: #1a54a1;
}

/*********************************************
 * IMAGES
 *********************************************/
.reveal section img {
  max-height: 1000px;
  /*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 a img {
  -webkit-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear; }

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

/*********************************************
 * NAVIGATION CONTROLS
 *********************************************/

.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
  border-right-color: gray; 
}

.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
  border-left-color: gray;
}

.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
  border-bottom-color: gray; 
}

.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
  border-top-color: gray; 
}

.reveal .controls div.navigate-left.enabled:hover {
  border-right-color: #85CCC4;
}

.reveal .controls div.navigate-right.enabled:hover {
  border-left-color: #85CCC4; 
}

.reveal .controls div.navigate-up.enabled:hover {
  border-bottom-color: #85CCC4; 
}

.reveal .controls div.navigate-down.enabled:hover {
  border-top-color: #85CCC4; 
}

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

.reveal .progress span {
  background: black;
  -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 .slides > section, .reveal .slides > section > section {
  padding: 0px 0px;
}
/*********************************************
 * SLIDE NUMBER
 *********************************************/
.reveal .slide-number {
  color: black; 
}

.hljs {
  font-size: 16px;
}

.lang-JSON {
  max-height: 500px;
}

.lang-YAML {
  max-height: 500px;
}

.lang-glsl {
  max-height: 500px;
}
