/* body */
html, body {
  padding: 0;
  height: 100%;
  background: #eee;
}

/* reset */
body .slide * {
  margin: 0;
  padding: 0;
}
.slide .slide {
  opacity: 0;
  visibility: visible;
}
.deck-child-current .deck-previous, .deck-child-current .deck-before, .deck-child-current .deck-current {
  opacity: 1;
}
.deck-container .slide h1 {
  margin: 0;
  padding: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  -webkit-transform: none;
  -moz-transform: none;
  transform: none;
}

/* frame */
.deck-container {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -640px;
  margin-top: -390px;
}
body.offline .deck-container {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -640px;
  margin-top: -360px;
}
.deck-container, .deck-container > .slide {
  padding: 0;
  width: 1280px;
  height: 720px;
  min-height: 0;
}
.deck-container, .deck-container > .slide .slide.inflate  {
  width: 1280px;
  height: 720px;
}
.deck-container .slide {
  background: none;
}
.slide > p, .slide h1, .slide h2, .slide pre {
  position: relative;
  z-index: 10;
}

/* block elements */
.deck-container .slide p {
  margin-bottom: 25px;
}

.deck-container .box {
  box-sizing: border-box;
  padding: 25px 50px;
}

.deck-container .box:first-child {
  padding-top: 50px;
}

.deck-container .box.images {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.deck-container .box.images > div {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  margin: 0;
  padding: 0 25px;
}
.deck-container .box.images img {
  display: inline;
  margin: 0;
  padding: 0;
}
.deck-container .box.images > :first-child {
  padding-left: 0;
}
.deck-container .box.images > :last-child {
  padding-right: 0;
}
.deck-container .box.images.equalTicks > div {
  width: 105px;
  padding: 0;
  margin: 0 !important;
}
.deck-container .slide.overlay img {
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 2px 20px rgba(255,255,255,1);
}
.deck-container .slide.overlay.dark img {
  box-shadow: 0 2px 20px rgba(0,0,0,1);
}

/* cover page layout */
body .deck-container .slide h1 {
  margin-top: 270px;
}
body .deck-container .slide.page-cover h1 {
  margin-top: 250px;
}
.deck-container .slide.page-cover h2 {
  position: absolute;
  left: 0;
  right: 25px;
  top: 610px;
  padding: 0 50px 0 0;
  opacity: .5;
}

body .deck-container .slide.page-cover h3 {
  position: absolute;
  left: 25px;
  right: 0;
  top: 580px;
  padding-left: 50px;
}

/* reference page layout */
.deck-container .slide.page-ref h3 {
  text-align: center;
}

/* manual layout adjustments */
.csstransitions.csstransforms .deck-container .slide.temp {
  position: absolute;
}
.csstransitions.csstransforms .deck-container .slide.abs,
.csstransitions.csstransforms .deck-container .abs {
  position: absolute !important;
  width: 300px;
  margin-left: -150px;
  margin-top: -100px;
  left: 50%;
  right: auto;
  top: 50%;
  bottom: auto;
}
.csstransitions.csstransforms .deck-container .slide.abs-l,
.csstransitions.csstransforms .deck-container .abs-l {
  width: 200px;
  position: absolute !important;
  right: auto;
  top: 300px;
  left: 200px;
  /*z-index: 20;*/
}
.csstransitions.csstransforms .deck-container .slide.abs-r,
.csstransitions.csstransforms .deck-container .abs-r {
  width: 200px;
  position: absolute !important;
  left: auto;
  top: 300px;
  right: 200px;
  /*z-index: 20;*/
}
.csstransitions.csstransforms .deck-container .slide.abs-tc,
.csstransitions.csstransforms .deck-container .abs-tc {
  width: 100%;
  position: absolute !important;
  bottom: auto;
  top: 50px;
  left: 0;
  right: 0;
  text-align: center;
  /*z-index: 20;*/
}
.csstransitions.csstransforms .deck-container .slide.abs-tl,
.csstransitions.csstransforms .deck-container .abs-tl {
  width: 450px;
  position: absolute !important;
  left: 100px;
  top: 100px;
  /*z-index: 20;*/
}
.csstransitions.csstransforms .deck-container .slide.abs-tr,
.csstransitions.csstransforms .deck-container .abs-tr {
  width: 450px;
  position: absolute !important;
  left: auto;
  right: 100px;
  top: 100px;
  /*z-index: 20;*/
}
.csstransitions.csstransforms .deck-container .slide.abs-bl,
.csstransitions.csstransforms .deck-container .abs-bl {
  width: 450px;
  position: absolute !important;
  top: auto;
  right: auto;
  left: 100px;
  bottom: 50px;
  /*z-index: 20;*/
  font-size: 28px;
}
.csstransitions.csstransforms .deck-container .slide.abs-br,
.csstransitions.csstransforms .deck-container .abs-br {
  width: 450px;
  position: absolute !important;
  top: auto;
  left: auto;
  right: 100px;
  bottom: 50px;
  /*z-index: 20;*/
  font-size: 28px;
}
.csstransitions.csstransforms .deck-container .slide.abs-bc,
.csstransitions.csstransforms .deck-container .abs-bc {
  width: 100%;
  position: absolute !important;
  top: auto;
  bottom: 50px;
  left: 0;
  right: 0;
  text-align: center;
  /*z-index: 20;*/
}
.csstransitions.csstransforms .deck-container .abs-bc img {
  margin: 0 auto;
}

.deck-container .t-18 {
  margin-top: -450px !important;
  padding-top: 0 !important;
}
.deck-container .t-12 {
  margin-top: -300px !important;
  padding-top: 0 !important;
}
.deck-container .t-6 {
  margin-top: -150px !important;
  padding-top: 0 !important;
}
.deck-container .t-5 {
  margin-top: -125px !important;
  padding-top: 0 !important;
}
.deck-container .t-4 {
  margin-top: -100px !important;
  padding-top: 0 !important;
}
.deck-container .t-3 {
  margin-top: -75px !important;
  padding-top: 0 !important;
}
.deck-container .t-2 {
  margin-top: -50px !important;
  padding-top: 0 !important;
}
.deck-container .t-1 {
  margin-top: -25px !important;
  padding-top: 0 !important;
}
.deck-container .t0 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.deck-container .t1 {
  margin-top: 25px !important;
}
.deck-container .t2 {
  margin-top: 50px !important;
}
.deck-container .t3 {
  margin-top: 75px !important;
}
.deck-container .t4 {
  margin-top: 100px !important;
}
.deck-container .t5 {
  margin-top: 125px !important;
}
.deck-container .t6 {
  margin-top: 150px !important;
}
.deck-container .r4 {
  position: relative;
  left: 100px !important;
}
.deck-container .r8 {
  position: relative;
  left: 200px !important;
}
.deck-container .r12 {
  position: relative;
  left: 300px !important;
}
.deck-container .l4 {
  position: relative;
  right: 100px !important;
}
.deck-container .l8 {
  position: relative;
  right: 200px !important;
}
.deck-container .l12 {
  position: relative;
  right: 300px !important;
}

/* code */
.deck-container .slide pre {
  border-color: #ccc;
  -webkit-box-shadow: inset 0 2px 5px rgba(0, 0, 0, .3);
  -moz-box-shadow: inset 0 2px 5px rgba(0, 0, 0, .3);
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, .3);
  padding: 25px;
}
.deck-container .slide pre.thin {
  padding: 10px;
}
.deck-container .slide pre.overlay {
  margin: 100px 50px 0 50px;
}
.deck-container .slide pre.halfL {
  width: 45%;
  float: left;
}
.deck-container .slide pre.halfR {
  width: 45%;
  float: right;
}
.deck-container .slide pre.wrap {
  white-space: pre-wrap;
}
.deck-container .slide blockquote {
  padding: 1em 1em;
  font-size: 56px;
}
.deck-container .slide blockquote.small {
  font-size: 36px;
  padding: 1em 2em;
}
.deck-container .slide blockquote p {
  margin: 0;
}
.deck-container .slide p.signature {
  text-align: right;
  padding-right: 50px;
}

/* centerfold layout */
.deck-container .slide .icon-float {
  position: absolute;
  bottom: 50px;
  right: 100px;

  -webkit-transform: scale(1.05, 1.05) translateZ(50px);
  -moz-transform: scale(1.05, 1.05) translateZ(50px);
  transform: scale(1.05, 1.05) translateZ(50px);
}
.deck-container .slide .make-it-pop {
  -webkit-transform: scale(1.05, 1.05) translateZ(50px);
  -moz-transform: scale(1.05, 1.05) translateZ(50px);
  transform: scale(1.05, 1.05) translateZ(50px);
}
.deck-container .slide .icon-float img {
  margin: 0;
}
.deck-container .slide.page-centerfold video {
  width: 1280px;
}
.deck-container .slide.page-centerfold .box {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.deck-container .slide.page-centerfold .box > div {
  display: table-cell;
  vertical-align: middle;
}
.deck-container .slide.page-centerfold .box > div iframe,
.deck-container .slide.page-centerfold .box > div img, {
  margin: 0 auto;
}

/* two up layout */
.deck-container .slide.page-two-up .box {
  float: left;
  width: 50%;
  padding: 50px 50px 50px 25px;
}
.deck-container .slide.page-two-up .box:first-child {
  padding: 50px 25px 50px 50px;
}
.deck-container .slide.page-two-up img {
  width: 100%;
}

.deck-container .page-floats .box.l, .box .l {
  float: left;
}
.deck-container .page-floats .box.r, .box .r {
  float: right;
}
.deck-container .page-floats .box.cl, .box .cl {
  clear: left;
}
.deck-container .page-floats .box.cr {
  clear: right;
}

/* iframes */
iframe.punch {
  z-index: 10000;
  -webkit-transform: translateZ(1000px);
  -moz-transform: translateZ(1000px);
  transform: translateZ(1000px);
}
iframe.mathbox.punch {
  -webkit-transform: none !important;
  -moz-transform: none !important;
  transform: none !important;
}
.deck-container .slide iframe {
  width: 100%;
  height: 100%;
  border: 0;
  margin: 0;
  padding: 0;
  background: none;
  position: absolute;
  top: 0;
  left: 0;
/*  z-index: 5;*/
}
.slide iframe.overscan {
  margin: -4%;
  width: 108%;
  height: 108%;
  max-width: none;
  -webkit-transform: translateZ(-10px);
  -moz-transform: translateZ(-10px);
  transform: translateZ(-10px);
}
.slide iframe.mathbox {
  -webkit-transform: scale3d(1.1, 1.1, 1) translate3d(0, 16.5px, -100px);
  -webkit-transform-style: preserve-3d;
  -moz-transform: scale3d(1.1, 1.1, 1) translate3d(0, 16.5px, -100px);
  -moz-transform-style: preserve-3d;
  transform: scale3d(1.1, 1.1, 1) translate3d(0, 16.5px, -100px);
  transform-style: preserve-3d;
  overflow: hidden;
}
.slide img.recessed, .slide .recessed {
  -webkit-transform: scale3d(1.1, 1.1, 1) translate3d(0, 16.5px, -100px);
  -webkit-transform-style: preserve-3d;
  -moz-transform: scale3d(1.1, 1.1, 1) translate3d(0, 16.5px, -100px);
  -moz-transform-style: preserve-3d;
  transform: scale3d(1.1, 1.1, 1) translate3d(0, 16.5px, -100px);
  transform-style: preserve-3d;
}
.deck-container .slide .slide iframe {
  height: 720px;
}

/* spotlight */
div.spotlight img {
  width: 100%;
}
div.spotlight img.overscan {
  -webkit-transform: translate(0, -50px) scale(2, 2);
  -moz-transform: translate(0, -50px) scale(2, 2);
  transform: translate(0, -50px) scale(2, 2);
}

/* slide invert */
.csstransitions.csstransforms .deck-container > .slide.invert {
  margin-top: -300px;
  margin-left: -300px;
  padding: 300px;
  width: 1880px;
  height: 1320px;
}

img.inline {
  display: inline;
  vertical-align: middle;
}


#message {
  font-family: 'Klavika Web Basic', 'klavika-web', sans-serif;
  font-weight: normal;
  font-style: normal;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -640px;
  margin-top: -390px;
  width: 1280px;
  text-align: center;
  color: #999;
}
#message .note strong {
  color: #c02060;
  font-size: 150%;
}
#message .note {
  display: none;
  
  font-size: 120%;
  background: rgba(255, 255, 255, .95);
  
  padding: 15px 30px;
  margin: 0px;

  color: #404040;
}
#message .note:first-of-type {
  display: block;
}
#context {
  font-family: 'Klavika Web Basic', 'klavika-web', sans-serif;
  font-weight: normal;
  font-style: normal;
  position: absolute;
  top: 50%;
  right: 0;
  margin-right: 200px;
  margin-top: 342px;
  color: #999;
  width: 300px;
  text-align: center;
}
#context a {
  color: #808080;
}
#context a:hover {
  color: rgb(60,180,90);
}
#video {
  font-family: 'Klavika Web Basic', 'klavika-web', sans-serif;
  font-weight: normal;
  font-style: normal;
  position: absolute;
  top: 50%;
  left: 0;
  margin-left: 185px;
  margin-top: 350px;
  color: #999;
  width: 300px;
}
#video span {
  font-size: 80%;
  padding-right: 10px;
}
#video a {
  text-decoration: none;
  color: #808080;
  padding: 10px 20px;
  background: #ffffff;
  background-image: linear-gradient(top, rgb(255,255,255) 9%, rgb(237,237,237) 55%);
  background-image: -o-linear-gradient(top, rgb(255,255,255) 9%, rgb(237,237,237) 55%);
  background-image: -moz-linear-gradient(top, rgb(255,255,255) 9%, rgb(237,237,237) 55%);
  background-image: -webkit-linear-gradient(top, rgb(255,255,255) 9%, rgb(237,237,237) 55%);
  background-image: -ms-linear-gradient(top, rgb(255,255,255) 9%, rgb(237,237,237) 55%);
  position: relative;
  background-image: -webkit-gradient(
  	linear,
  	left top,
  	left bottom,
  	color-stop(0.09, rgb(255,255,255)),
  	color-stop(0.55, rgb(237,237,237))
  );
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
#video a:hover {
  color: #fff;
  background: #dddddd;
  background-image: linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -o-linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -moz-linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -webkit-linear-gradient(top, rgb(30,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -ms-linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);

  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, .4);
  -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, .4);
  box-shadow: 0 1px 6px rgba(0, 0, 0, .4);

  -webkit-text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
}
#video a:active, #controls a:active {
  -webkit-box-shadow: inset 0 1px 10px rgba(0, 0, 0, .4),
                      0 1px 2px rgba(0, 0, 0, .2);
  -moz-box-shadow: inset 0 1px 10px rgba(0, 0, 0, .4),
                   0 1px 2px rgba(0, 0, 0, .2);
  box-shadow: inset 0 1px 10px rgba(0, 0, 0, .4),
              0 1px 2px rgba(0, 0, 0, .2);
  top: 1px;
}
#video a, #context {
  -webkit-text-shadow: 0 1px 0 rgba(255, 255, 255, 1);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 1);
}
#controls {
  -webkit-font-smoothing: antialiased;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -100px;
  margin-top: 330px;
  width: 200px;
  text-align: center;
}
#controls a {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  display: inline-block;
  padding: 0px 25px 5px;
  background: #999;
  color: #fff;
  text-decoration: none;
  font-size: 48px;
  font-family: 'Klavika Web Basic', 'klavika-web', sans-serif;
  font-weight: normal;
  font-style: normal;
}
#controls a:hover {
  background: #dddddd;
  background-image: linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -o-linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -moz-linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -webkit-linear-gradient(top, rgb(30,180,90) 9%, rgb(25,167,60) 55%);
  background-image: -ms-linear-gradient(top, rgb(60,180,90) 9%, rgb(25,167,60) 55%);
}
#message {
}
#message .error {
  font-style: italic;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
  font-size: 24px;
  background: #ffeeee;
  color: #400000;
  padding: 50px;
}
#message .error a {
  font-size: strong;
  border-bottom: 1px solid #900000;
  color: #900000;
  text-decoration: none;
}
.white {
  background: #fff;
}
.dead {
  pointer-events: none;
}

.slide .overlay {
  -webkit-transform: translateZ(0px);
  -moz-transform: translateZ(0px);
  transform: translateZ(0px);
}

.dummy {
  top: 10000px !important;
}