﻿body, div,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, dl, dt, dd, ol, ul, li, hr,
fieldset, form, label, legend, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section,
summary, hgroup {
  margin: 0;
  padding: 0;
  border: 0; }

a:active,
a:hover {
  outline: 0; }

@-webkit-viewport {
  width: device-width; }

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #37302a;
  background: #fff;
  font: normal 100%/1.4 sans-serif;
  font-family: "Noto Serif", georgia, serif; }

#nav,
#nav * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

#nav {
  background: rgba(90, 102, 106, 0.9);
  position: fixed;
  width: 100%;
  -webkit-box-shadow: 0px 2px 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 1px 2px rgba(0, 0, 0, 0.1); }

#nav,
#nav ul {
  list-style: none; }

#nav li {
  display: inline-block;
  width: 100%; }

@media screen and (min-width: 40em) {
  #nav {
    text-align: center; }

  #nav li {
    width: 15%;
    *width: 14.9%;
    /* IE7 Hack */
    _width: 14%;
    /* IE6 Hack */ } }
#nav a {
  display: block;
  color: #fff;
  text-decoration: none;
  width: 100%;
  border-bottom: 1px solid white;
  padding: 0.7em 1em; }

#nav a:hover {
  background: #333; }

@media screen and (min-width: 40em) {
  #nav a {
    margin: 0;
    padding: 20px 25px;
    text-align: center;
    border-bottom: 0; } }
#nav ul ul a {
  background: #5a666a;
  padding-left: 2em; }

@media screen and (min-width: 40em) {
  #nav ul ul a {
    display: none; } }
#nav-toggle {
  display: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 70px;
  height: 55px;
  text-indent: -9999px;
  overflow: hidden;
  background: #5a666a url("../images/hamburger.gif") no-repeat 50% 33%;
  width: 100%; }

@media screen and (-webkit-min-device-pixel-ratio: 1.3), screen and (min--moz-device-pixel-ratio: 1.3), screen and (-o-min-device-pixel-ratio: 2 / 1), screen and (min-device-pixel-ratio: 1.3), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
  #nav-toggle {
    background-image: url("../images/hamburger-retina.gif");
    -webkit-background-size: 100px 100px;
    -moz-background-size: 100px 100px;
    -o-background-size: 100px 100px;
    background-size: 100px 100px; } }
p {
  font-size: 1.3em;
  line-height: 1.8em; }

h1, h2, h3, h4, h5, h6 {
  padding: 20px 0px;
  text-shadow: 1px 1px 1px white; }

h1, h2, h3, h4, h5, h6, nav {
  font-family: "Roboto Condensed", Helvetica, sans-serif; }

#nav {
  position: fixed;
  z-index: 1000; }

#logo {
  max-height: 70px;
  float: right;
  padding-right: 20px; }

section {
  margin-bottom: 50px; }
  section h2 {
    text-align: center; }

@media screen and (max-width: 40em) {
  #nav-toggle {
    display: block; }

  #nav {
    position: relative !important; } }
@media screen and (max-width: 767px) {
  body section p {
    padding: 0px 20px; }

  #schedule li {
    width: 100% !important; }

  #travel ul li {
    width: 100% !important;
    margin: 1px 0px !important; } }
#banner {
  background: url("../images/buffalo_usgs-blue.jpg") no-repeat top left;
  background-size: cover;
  z-index: 100;
  padding-top: 45px; }
  #banner h1 {
    text-align: center; }
  #banner h2 {
    color: #fff;
    text-shadow: 1px 1px 1px black; }

#contentContainer section {
  border-top: 1px dotted #efefef;
  padding-top: 50px; }
#contentContainer ul {
  list-style: none;
  text-align: center; }
  #contentContainer ul li {
    display: inline-block; }

#schedule li {
  margin: 20px 0px;
  padding: 0px 0px 20px 0px;
  width: 33%;
  background: #f2f2f2; }

#speakers p {
  margin-bottom: 20px; }
#speakers a {
  display: inline-block;
  color: #fff;
  text-shadow: 1px 1px 1px black;
  text-decoration: none;
  font-family: "Roboto Condensed", Helvetica, sans-serif;
  background-position-x: 50%;
  padding-bottom: 20px; }
  #speakers a:hover {
    text-decoration: underline; }
#speakers #keynotes {
  margin-bottom: 20px; }
  #speakers #keynotes a {
    padding-top: 360px;
    width: 300px;
    font-size: 30px; }
#speakers #talks {
  margin-top: 20px; }
  #speakers #talks a {
    padding-top: 195px;
    width: 187.5px;
    font-size: 25px;
    -webkit-transform: perspective(600px) rotateY(-10deg); }
  #speakers #talks tr {
    display: inline-block;
    margin-bottom: 25px; }
  #speakers #talks td:last-child {
    vertical-align: middle;
    font-size: 39px;
    -webkit-transform: perspective(600px) rotateY(10deg);
    font-family: "Roboto Condensed", Helvetica, sans-serif;
    padding-left: 30px;
    width: 300px;
    text-align: left;
    line-height: 41px; }
#speakers #j3 {
  background-image: url("../images/speakers/j3.jpg");
  background-position-y: 35%; }
#speakers #sara {
  background-image: url("../images/speakers/sara.jpg");
  background-position-y: 20%; }
#speakers #holman {
  background-image: url("../images/speakers/holman.png");
  background-position-y: 80%; }
#speakers #neal {
  background-image: url("../images/speakers/nealsales.jpg");
  background-position-y: 35%; }
#speakers #bantik {
  background-image: url("../images/speakers/bantik.jpg");
  background-position-y: 35%; }
#speakers #mathiasx {
  background-image: url("../images/speakers/mathiasx.jpg");
  background-position-y: 35%; }
#speakers #samkottler {
  background-image: url("../images/speakers/samkottler.jpg");
  background-position-y: 35%; }
#speakers #rachelober {
  background-image: url("../images/speakers/rachelober.jpg");
  background-position-y: 35%; }
#speakers #juliepagano {
  background-image: url("../images/speakers/juliepagano.jpg");
  background-position-y: 35%; }
#speakers #mark_menard {
  background-image: url("../images/speakers/mark_menard.jpg");
  background-position-y: 35%; }
#speakers #jeff_hsu {
  background-image: url("../images/speakers/jeff_hsu.jpg");
  background-position-y: 35%; }
#speakers #greggyb {
  background-image: url("../images/speakers/greggyb.jpg");
  background-position-y: 0%; }
#speakers #zzak {
  background-image: url("../images/speakers/zzak.jpg");
  background-position-y: 35%; }
#speakers #austin_seraphin {
  background-image: url("../images/speakers/austin_seraphin.jpg");
  background-position-y: 35%; }
#speakers #katie {
  background-image: url("../images/speakers/katie.jpg");
  background-position-y: 35%; }

@media screen and (max-width: 780px) {
  #speakers #talks td:last-child {
    -webkit-transform: none !important;
    line-height: inherit !important;
    font-size: 25px !important;
    width: 150px; } }
#venue .text-center, #travel .text-center, #schedule .text-center {
  margin-bottom: 20px; }
#venue img, #travel img, #schedule img {
  width: 400px;
  height: 400px;
  margin-top: 10px; }

#travel code {
  font-size: 18px; }
#travel ul {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px; }
  #travel ul li {
    width: 49%;
    margin: 5px 0px; }
    #travel ul li a {
      text-decoration: none;
      padding-top: 10px;
      padding-bottom: 10px;
      display: block;
      background: #f2f2f2; }
      #travel ul li a:hover {
        background: #eeeeee; }

.punch {
  background: #bed428;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  margin-top: 20px;
  display: inline-block;
  padding: 10px 10px;
  text-shadow: 0px 1px 1px #9aac22;
  color: #fff;
  font-family: "Roboto Condensed", Helvetica, sans-serif;
  font-size: 30px;
  text-decoration: none; }
  .punch:hover {
    color: #fff;
    -webkit-box-shadow: inset 0 0px 20px 1px #9aac22;
    box-shadow: inset 0 0px 20px 1px #9aac22;
    text-decoration: none; }
  .punch:active {
    -webkit-box-shadow: inset 0 1px 10px 1px #9aac22;
    box-shadow: inset 0 1px 10px 1px #9aac22; }

footer {
  border-top: 1px solid #bbbbbb;
  padding-top: 1em;
  text-align: center;
  overflow: auto;
  background: #e2e2e2;
  background: -moz-linear-gradient(top, #e2e2e2 0%, white 49%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(49%, white));
  background: -webkit-linear-gradient(top, #e2e2e2 0%, white 49%);
  background: -o-linear-gradient(top, #e2e2e2 0%, white 49%);
  background: -ms-linear-gradient(top, #e2e2e2 0%, white 49%);
  background: linear-gradient(to bottom, #e2e2e2 0%, white 49%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e2e2e2', endColorstr='#ffffff',GradientType=0 ); }
  footer nav {
    margin-bottom: 30px; }
    footer nav a {
      display: inline-block;
      margin: 0px 25px; }
  footer .team p {
    font-size: 12px; }
  footer .team li {
    display: inline-block; }
    footer .team li a {
      width: 73px;
      height: 73px;
      display: inline-block;
      border: 2px solid white;
      border-radius: 50%;
      margin: 10px 10px;
      background-size: cover;
      background-position: center; }
  footer .thanks {
    font-size: 10px;
    font-style: italic;
    color: #aaa; }
    footer .thanks a {
      color: #aaa;
      text-decoration: underline; }

.text-center {
  text-align: center;
  clear: both; }

#cfp p {
  margin-bottom: 20px; }

#sponsors {
  text-align: center; }
  #sponsors ul li {
    text-align: center;
    display: inline-block;
    margin-bottom: 20px; }
    #sponsors ul li a {
      text-decoration: none;
      border: 0;
      display: block; }
  #sponsors .gold {
    margin-top: 40px;
    margin-bottom: 20px; }
    #sponsors .gold li {
      max-width: 80%; }
  #sponsors .silver {
    margin-bottom: 40px; }
    #sponsors .silver li {
      max-width: 300px;
      margin-left: 20px;
      margin-right: 20px; }
      #sponsors .silver li img {
        max-height: 75px; }
