html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  counter-reset: paging;
  font: 25px/2 "PT Sans", sans-serif; }

.slide {
  width: 1024px;
  height: 768px;
  background: white url(../images/ribbon.svg) 865px 0 no-repeat;
  color: #000; }
  .slide:after {
    position: absolute;
    counter-increment: paging;
    content: counter(paging, decimal-leading-zero);
    line-height: 1; }
  .debug .slide {
    background: url(../images/ribbon.svg) 865px 0 no-repeat, url(../images/grid-4x3.png) no-repeat, white; }
  .slide > div {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    padding: 10px 120px 0;
    width: 784px;
    height: 758px; }

.slide h1 {
  margin: 0 0 27px;
  color: #666;
  font: bold 60px/60px "PT Sans Narrow", sans-serif; }
.slide h2 {
  margin: 0 0 17px;
  color: #666;
  font: bold 50px/50px "PT Sans Narrow", sans-serif; }
.slide p {
  margin: 0 0 50px; }
.slide p.note {
  color: #999; }
.slide a {
  border-bottom: 0.1em solid;
  color: #0174A7;
  text-decoration: none; }
.slide b, .slide strong {
  font-weight: bold; }
.slide i, .slide em {
  font-style: italic; }
.slide kbd, .slide code, .slide samp {
  padding: 3px 8px;
  border-radius: 8px;
  background: #FAFAA2;
  color: #000;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  line-height: 1;
  font-family: 'PT Mono', monospace; }
.slide blockquote {
  font-style: italic; }
  .slide blockquote:before {
    position: absolute;
    margin: -16px 0 0 -80px;
    color: #CCC;
    font: 200px/1 "PT Sans", sans-serif;
    content: '\201C'; }
  .slide blockquote + figcaption {
    margin: -50px 0 40px;
    font-style: italic;
    font-weight: bold; }
.slide ol, .slide ul {
  margin: 0 0 50px;
  counter-reset: list; }
  .slide ol li, .slide ul li {
    text-indent: -2em; }
    .slide ol li:before, .slide ul li:before {
      display: inline-block;
      width: 2em;
      color: #BBB;
      text-align: right; }
  .slide ol ol,
  .slide ol ul, .slide ul ol,
  .slide ul ul {
    margin: 0 0 0 39px; }
.slide ul > li:before {
  content: '\2022\00A0\00A0'; }
.slide ul > li:lang(ru):before {
  content: '\2014\00A0\00A0'; }
.slide ol > li:before {
  counter-increment: list;
  content: counter(list) ".\00A0"; }
.slide pre {
  white-space: normal;
  display: block;
  padding: 0;
  background: none;
  white-space: pre;
  line-height: 22px;
  font-size: 16px;
  font-family: 'PT Mono', monospace; }
  .slide pre:before {
    position: absolute;
    margin: 0 0 0 -110px;
    width: 100px;
    color: #BBB;
    text-align: right; }
  .slide pre mark {
    margin: 0 -8px;
    padding: 3px 8px;
    border-radius: 8px;
    background: rgba(236, 249, 0, 0.37);
    color: #000;
    font-style: normal; }
    .slide pre mark.important {
      margin: 0;
      background: #C00;
      color: #FFF;
      font-weight: normal; }
    .slide pre mark.comment {
      margin: 0;
      padding: 0;
      background: none;
      color: #999; }
.slide.cover {
  background: #000; }
  .slide.cover img, .slide.cover svg, .slide.cover video,
  .slide.cover object, .slide.cover canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
  .slide.cover.w img, .slide.cover.w svg, .slide.cover.w video,
  .slide.cover.w object, .slide.cover.w canvas {
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  .slide.cover.h img, .slide.cover.h svg, .slide.cover.h video,
  .slide.cover.h object, .slide.cover.h canvas {
    left: 50%;
    height: 100%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%); }
  .slide.cover.w.h img, .slide.cover.w.h svg, .slide.cover.w.h video,
  .slide.cover.w.h object, .slide.cover.w.h canvas {
    top: 0;
    left: 0;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none; }
.slide.shout {
  background-image: none; }
  .slide.shout h2 {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    line-height: 1;
    font-size: 150px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
.slide .place {
  position: absolute; }
  .slide .place.t, .slide .place.m, .slide .place.b {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%); }
  .slide .place.t {
    top: 0; }
  .slide .place.b {
    bottom: 0; }
  .slide .place.l, .slide .place.m, .slide .place.r {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  .slide .place.l {
    left: 0; }
  .slide .place.m {
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .slide .place.r {
    right: 0;
    left: auto; }
  .slide .place.t.l, .slide .place.t.r, .slide .place.b.r, .slide .place.b.l {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none; }
  .slide .place.t.l, .slide .place.t.r {
    top: 0; }
  .slide .place.b.r, .slide .place.b.l {
    top: auto; }

.list {
  padding: 80px 0 40px 100px;
  background: #585a5e url(../images/linen.png); }
  .list:after {
    clear: both;
    display: block;
    content: ''; }
  .list .caption {
    margin: 0 0 50px;
    color: #3C3D40;
    text-shadow: 0 1px 1px #8D8E90; }
    .list .caption h1 {
      font: bold 50px/1 "PT Sans Narrow", sans-serif; }
    .list .caption a {
      color: #4B86C2;
      text-shadow: 0 -1px 1px #1f3f60;
      text-decoration: none; }
      .list .caption a:hover {
        color: #5ca4ed; }
  .list .slide {
    position: relative;
    float: left;
    margin: 0 -412px -284px 0;
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); }
    @media (max-width: 1324px) {
      .list .slide {
        margin: 0 -688px -496px 0;
        -webkit-transform: scale(0.25);
        -moz-transform: scale(0.25);
        -ms-transform: scale(0.25);
        -o-transform: scale(0.25);
        transform: scale(0.25); } }
    .list .slide:before {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 512px;
      height: 384px;
      box-shadow: 0 0 30px rgba(0, 0, 0, 0.005), 0 20px 50px rgba(42, 43, 45, 0.6);
      border-radius: 2px;
      content: '';
      -webkit-transform-origin: 0 0;
      -moz-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
      -o-transform-origin: 0 0;
      transform-origin: 0 0;
      -webkit-transform: scale(2);
      -moz-transform: scale(2);
      -ms-transform: scale(2);
      -o-transform: scale(2);
      transform: scale(2); }
      @media (max-width: 1324px) {
        .list .slide:before {
          width: 256px;
          height: 192px;
          -webkit-transform: scale(4);
          -moz-transform: scale(4);
          -ms-transform: scale(4);
          -o-transform: scale(4);
          transform: scale(4); } }
    .list .slide:after {
      bottom: -100px;
      left: 120px;
      color: #3C3D40;
      text-shadow: 0 2px 1px #8D8E90;
      font-weight: bold;
      font-size: 50px; }
      @media (max-width: 1324px) {
        .list .slide:after {
          bottom: -180px;
          text-shadow: 0 4px 2px #8D8E90;
          font-size: 100px; } }
    .list .slide:hover:before {
      box-shadow: 0 0 0 10px rgba(42, 43, 45, 0.3), 0 20px 50px rgba(42, 43, 45, 0.6); }
    .list .slide:target:before {
      box-shadow: 0 0 0 1px #305f8d, 0 0 0 10px #3c7cbd, 0 20px 50px rgba(42, 43, 45, 0.6); }
      @media (max-width: 1324px) {
        .list .slide:target:before {
          box-shadow: 0 0 0 1px #305f8d, 0 0 0 10px #3c7cbd, 0 20px 50px rgba(42, 43, 45, 0.6); } }
    .list .slide:target:after {
      text-shadow: 0 2px 1px rgba(42, 43, 45, 0.6);
      color: #4B86C2; }
      @media (max-width: 1324px) {
        .list .slide:target:after {
          text-shadow: 0 4px 2px rgba(42, 43, 45, 0.6); } }

.full {
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  margin: -384px 0 0 -512px;
  width: 1024px;
  height: 768px;
  background: #000; }
  .full .caption {
    display: none; }
  .full .slide {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden; }
    .full .slide:after {
      position: absolute;
      right: 120px;
      bottom: 40px;
      color: #CCC;
      line-height: 18px;
      font-size: 20px; }
    .full .slide:target {
      visibility: visible; }
    .full .slide.cover, .full .slide.shout {
      z-index: 1; }
      .full .slide.cover:after, .full .slide.shout:after {
        content: ''; }
  .full li.next {
    display: none; }
    .full li.next.active {
      display: block; }
  .full .progress {
    position: absolute;
    right: 118px;
    left: 118px;
    bottom: 10px; }
    .full .progress div {
      width: 0;
      height: 10px;
      box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
      border-radius: 5px;
      background: rgba(177, 177, 177, 0.4);
      -webkit-transition: width 0.2s linear;
      -moz-transition: width 0.2s linear;
      -o-transition: width 0.2s linear;
      transition: width 0.2s linear; }

.presenter_notes {
  display: none; }

.presenter_view .presenter_notes {
  display: block; }
.presenter_view .slide-content {
  display: none; }

/* Pygments default theme */
.hll {
  background-color: #ffffcc; }

.c {
  color: #408080;
  font-style: italic; }

/* Comment */
.err {
  border: 1px solid #FF0000; }

/* Error */
.k {
  color: #008000;
  font-weight: bold; }

/* Keyword */
.o {
  color: #666666; }

/* Operator */
.cm {
  color: #408080;
  font-style: italic; }

/* Comment.Multiline */
.cp {
  color: #BC7A00; }

/* Comment.Preproc */
.c1 {
  color: #408080;
  font-style: italic; }

/* Comment.Single */
.cs {
  color: #408080;
  font-style: italic; }

/* Comment.Special */
.gd {
  color: #A00000; }

/* Generic.Deleted */
.ge {
  font-style: italic; }

/* Generic.Emph */
.gr {
  color: #FF0000; }

/* Generic.Error */
.gh {
  color: #000080;
  font-weight: bold; }

/* Generic.Heading */
.gi {
  color: #00A000; }

/* Generic.Inserted */
.go {
  color: #808080; }

/* Generic.Output */
.gp {
  color: #000080;
  font-weight: bold; }

/* Generic.Prompt */
.gs {
  font-weight: bold; }

/* Generic.Strong */
.gu {
  color: #800080;
  font-weight: bold; }

/* Generic.Subheading */
.gt {
  color: #0040D0; }

/* Generic.Traceback */
.kc {
  color: #008000;
  font-weight: bold; }

/* Keyword.Constant */
.kd {
  color: #008000;
  font-weight: bold; }

/* Keyword.Declaration */
.kn {
  color: #008000;
  font-weight: bold; }

/* Keyword.Namespace */
.kp {
  color: #008000; }

/* Keyword.Pseudo */
.kr {
  color: #008000;
  font-weight: bold; }

/* Keyword.Reserved */
.kt {
  color: #B00040; }

/* Keyword.Type */
.m {
  color: #666666; }

/* Literal.Number */
.s {
  color: #BA2121; }

/* Literal.String */
.na {
  color: #7D9029; }

/* Name.Attribute */
.nb {
  color: #008000; }

/* Name.Builtin */
.nc {
  color: #0000FF;
  font-weight: bold; }

/* Name.Class */
.no {
  color: #880000; }

/* Name.Constant */
.nd {
  color: #AA22FF; }

/* Name.Decorator */
.ni {
  color: #999999;
  font-weight: bold; }

/* Name.Entity */
.ne {
  color: #D2413A;
  font-weight: bold; }

/* Name.Exception */
.nf {
  color: #0000FF; }

/* Name.Function */
.nl {
  color: #A0A000; }

/* Name.Label */
.nn {
  color: #0000FF;
  font-weight: bold; }

/* Name.Namespace */
.nt {
  color: #008000;
  font-weight: bold; }

/* Name.Tag */
.nv {
  color: #19177C; }

/* Name.Variable */
.ow {
  color: #AA22FF;
  font-weight: bold; }

/* Operator.Word */
.w {
  color: #bbbbbb; }

/* Text.Whitespace */
.mf {
  color: #666666; }

/* Literal.Number.Float */
.mh {
  color: #666666; }

/* Literal.Number.Hex */
.mi {
  color: #666666; }

/* Literal.Number.Integer */
.mo {
  color: #666666; }

/* Literal.Number.Oct */
.sb {
  color: #BA2121; }

/* Literal.String.Backtick */
.sc {
  color: #BA2121; }

/* Literal.String.Char */
.sd {
  color: #BA2121;
  font-style: italic; }

/* Literal.String.Doc */
.s2 {
  color: #BA2121; }

/* Literal.String.Double */
.se {
  color: #BB6622;
  font-weight: bold; }

/* Literal.String.Escape */
.sh {
  color: #BA2121; }

/* Literal.String.Heredoc */
.si {
  color: #BB6688;
  font-weight: bold; }

/* Literal.String.Interpol */
.sx {
  color: #008000; }

/* Literal.String.Other */
.sr {
  color: #BB6688; }

/* Literal.String.Regex */
.s1 {
  color: #BA2121; }

/* Literal.String.Single */
.ss {
  color: #19177C; }

/* Literal.String.Symbol */
.bp {
  color: #008000; }

/* Name.Builtin.Pseudo */
.vc {
  color: #19177C; }

/* Name.Variable.Class */
.vg {
  color: #19177C; }

/* Name.Variable.Global */
.vi {
  color: #19177C; }

/* Name.Variable.Instance */
.il {
  color: #666666; }

/* Literal.Number.Integer.Long */
