/* Resets and base styles from HTML5 Boilerplate */
div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, 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;
}

blockquote, q {
  quotes:none;

  &:before, &:after {
    content:"";
    content:none;
  }
}

ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

del {
  text-decoration:line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

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

hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #ccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}

select, input, textarea, button {
  font:99% sans-serif;
}

pre, code, kbd, samp {
  font-family:monospace, sans-serif;
}

a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);

  &:hover, &:active {
    outline:none;
  }
}

ul, ol {
  margin-left:2em;
  vertical-align:top;
}

ol {
  list-style-type:decimal;
}

nav {
  ul, li {
    margin:0;
    list-style:none;
    list-style-image:none;
  }
}

small {
  font-size:85%;
}

strong, th {
  font-weight:bold;
}

td {
  vertical-align:top;
}

sub, sup {
  font-size:75%;
  line-height:0;
  position:relative;
}

sup {
  top:-0.5em;
}

sub { bottom: -0.25em; }

textarea {
  overflow:auto;
}

input[type="radio"] {
  vertical-align:text-bottom;
}

input[type="checkbox"] {
  vertical-align:bottom;
}

label,
input[type="button"],
input[type="submit"],
input[type="image"],
button {
  cursor:pointer;
}

button, input, select, textarea {
  margin: 0;
}

input, textarea {
  &:invalid {
    border-radius:1px;
    -moz-box-shadow:0px 0px 5px red;
    -webkit-box-shadow:0px 0px 5px red;
    box-shadow: 0px 0px 5px red;

    .no-boxshadow {
      background-color: #f0dddd;
    }
  }
}

button {
  width:auto;
  overflow:visible;
}

select, input, textarea {
  color: #444 ;
}

a {
  color:#607890;

  &:hover, &:focus {
    color:#036;
  }

  &:link {
    -webkit-tap-highlight-color: #fff;
  }
}
/* End HTML5 Boilerplate adaptations */

h1 {
  font-size:4.5em;
}

h1, .vcenter {
  font-weight:bold;
  text-align:center;
  padding-top:1em;
  max-height:100%;

  .csstransforms & {
    padding:0 48px;
    position:absolute;
    left:0;
    right:0;
    top:50%;
    -webkit-transform:translate(0, -50%);
    -moz-transform:translate(0, -50%);
    -ms-transform:translate(0, -50%);
    -o-transform:translate(0, -50%);
    transform:translate(0, -50%);
  }
}

.vcenter h1 {
  position:relative;
  top:auto;
  padding:0;
  -webkit-transform:none;
  -moz-transform:none;
  -ms-transform:none;
  -o-transform:none;
  transform:none;
}

h2 {
  font-size:2.25em;
  font-weight:bold;
  padding-top:.5em;
  margin:0 0 .66666em 0;
  border-bottom:3px solid #888;
}

h3 {
  font-size:1.4375em;
  font-weight:bold;
  margin-bottom:.30435em;
}

h4 {
  font-size:1.25em;
  font-weight:bold;
  margin-bottom:.25em;
}

h5 {
  font-size:1.125em;
  font-weight:bold;
  margin-bottom:.2222em;
}

h6 {
  font-size:1em;
  font-weight:bold;
}

img, iframe, video {
  display:block;
  max-width:100%;
}

video, iframe, img {
  display:block;
  margin:0 auto;
}

p, blockquote, iframe, img, ul, ol, pre, video {
  margin-bottom:1em;
}

pre {
  white-space:pre;
  white-space:pre-wrap;
  word-wrap:break-word;
  padding: 1em;
  border:1px solid #888;
}

em {
  font-style:italic;
}

li {
  padding:.25em 0;
  vertical-align:middle;

  > ol, > ul {
    margin-bottom:inherit;
  }
}

.deck-container {
  font-size:16px;
  line-height:1.25;
  color:#444;
}

.slide {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width:100%;
}