body {
  background-color: #000032;
  background-image: url("/img/background.png");
  background-position: center;
  background-repeat: repeat-y;
  font-family: "Raleway", Helvetica, Arial, sans-serif;
  margin: 40px 0 0;
}

a {
  color: #44a8ef;
  font-weight: 700;
  text-decoration: underline;
}

article {
  margin: 0 30px;
  padding: 20px 0;
  line-height: 150%;
  border-top: dashed 1px #fff;
  border-bottom: dashed 1px #c5c5c5;
}

article:first-of-type {
  border-top: none;
}

article:last-of-type {
  border-bottom: none;
}

article h2 {
  font-size: 26px;
  font-weight: 700;
  text-shadow: 0 1px 0 #fff;
  margin: 0 0 10px 0;
}

article p {
  color: #222;
  font-size: 15px;
}

article p:last-child {
  margin-bottom: 0;
}

article#schedule h3 {
  font-weight: 400;
}

article#schedule table tr td, article#schedule table tr th {
  text-align: center;
}
article#schedule table tr td img {
  display: block;
  height: 80px;
  width: 80px;
  margin: 0 auto;
  border-radius: 50%;
}
article#schedule table tr td strong {
  display: block;
  padding-top: 1em;
}
article#schedule table tr td span {
  display: block;
}

.content {
  background: #f8f8f8;
  margin: 0 0 50px 0;
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, .6);
  -mox-box-shadow: 0 2px 2px rgba(0, 0, 0, .6);
  box-shadow: 0 2px 2px rgba(0, 0, 0, .6);
}

.navbar .navbar-inner {
  background-color: #fff;
  background-image: none;
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, .4);
  -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, .4);
  box-shadow: 0 2px 2px rgba(0, 0, 0, .4);
}

.navbar .brand, h1, h2, h3 {
  color: #f00;
  font-weight: 700;
}

.navbar .brand {
  text-decoration: none;
}

.navbar .nav {
  display: block;
  float: none;
}

.navbar .nav li a {
  color: #222;
}

.navbar .nav li:hover a {
  color: #f00;
}

.navbar .nav li.active a {
  color: #f00;
}

.navbar .nav li.active:hover a {
  color: #f00;
}

.navbar .nav li.register {
  float: right;
}

.navbar .nav li.register a {
  color: #fff;
  background-color: #64c8ff;
  text-shadow: none;
}

.navbar .nav li.register a:hover {
  background-color: #78d2ff;
}

.navbar .nav li.register a:active {
  background-color: #50b9ff;
  -webkit-box-shadow: 0 1px 2px 1px rgba(0, 0, 0, .15) inset;
}

div.header {
  display: block;
  font-size: 0;
  margin: 20px 0;
}

div.header span {
  display: inline-block;
  width: 50%;
  vertical-align: top;
}

div.header span.logo {
  text-align: right;
}

div.header h1 {
  clear: both;
  display: block;
  width: 100%;
  height: 75px;
  background-image: url("/img/bohconf-2013.png");
  background-repeat: no-repeat;
  background-size: contain;
  text-align: left;
  text-indent: -9999px;
  margin: 30px 0 0 0;
}

div.header p {
  clear: both;
  color: #fff;
  font-size: 28px;
  text-shadow: 0 2px 2px rgba(0, 0, 0, .6);
  line-height: 130%;
  margin: 0;
  padding: 0 20px 0 0;
}

div.header p.pre-party {
  color: #64c8ff;
  font-size: 22px;
  margin: 30px 0 0 0;
}
div.header p.pre-party a {
  font-weight: 400;
  text-decoration: none;
}

div.header a.ticket-link {
  display: inline-block;
  color: #fff;
  background-color: #64c8ff;
  font-size: 26px;
  font-weight: 400;
  text-decoration: none;
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, .6), 0 1px 0 rgba(255, 255, 255, .5) inset;
  -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, .6), 0 1px 0 rgba(255, 255, 255, .5) inset;
  box-shadow: 0 2px 2px rgba(0, 0, 0, .6), 0 1px 0 rgba(255, 255, 255, .5) inset;
  margin: 30px 0 0 0;
  padding: 16px 48px;
}

div.header a.ticket-link:hover {
  background-color: #78d2ff;
}

div.header a.ticket-link:active {
  background-color: #50b9ff;
  -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, .7), 0 2px 4px rgba(0, 0, 0, .2) inset;
}

div.header a#cfp-callout-link {
  font-size: 18px;
  line-height: 135%;
  background-color: red;
  text-align: center;
  margin-bottom: 10px;
}

div.header a#cfp-callout-link:hover {
  background-color: #F33;
}

div.header a#cfp-callout-link:active {
  background-color: #E00;
}

div.header a#cfp-callout-link strong {
  display: block;
  font-size: 22px;
}

div.header img {
  display: inline-block;
}

div.map {
  text-align: center;
}

div.map span {
  position: relative;
  display: inline-block;
  margin: 20px 0;
  padding: 12px;
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, .3);
  -moz-box-shadow: 0 2px 2px rgba(0, 0, 0, .3);
  box-shadow: 0 2px 2px rgba(0, 0, 0, .3);
}

div.map span:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 0 12px #fff inset, 0 0 4px 13px rgba(0, 0, 0, .2) inset;
  -moz-box-shadow: 0 0 0 12px #fff inset, 0 0 4px 13px rgba(0, 0, 0, .2) inset;
  box-shadow: 0 0 0 12px #fff inset, 0 0 4px 13px rgba(0, 0, 0, .2) inset;
}

#hosts {
  font-size: 0;
}

#hosts div {
  display: block;
}

#hosts div.logos a,
#hosts div.descriptions p {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 50%;
}

#hosts div.descriptions p {
  vertical-align: top;
}

#hosts div.logos a:first-of-type,
#hosts div.descriptions p:first-of-type {
  padding-right: 20px;
}

#hosts div.logos a:last-of-type,
#hosts div.descriptions p:last-of-type {
  padding-left: 20px;
}

#hosts div img {
  margin: 0 0 30px 0;
}

#hosts div p {
  line-height: 150%;
}

#sponsors {
  font-size: 0;
}

#sponsors img {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  display: inline-block;
  width: 50%;
  margin: 0;
  padding: 0 20px 40px 20px;
}

#bohconf-2010 div,
#bohconf-2011 div,
#bohconf-2012 div,
#bohconf-2013 div {
  font-size: 0;
  margin: 20px 0;
}

#bohconf-2010 img,
#bohconf-2011 img,
#bohconf-2012 img,
#bohconf-2013 img {
  display: inline-block;
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px;
}

footer {
  background-color: #eaeaea;
  font-size: 12px;
  padding: 10px 30px;
  text-align: center;
}

@media (max-width: 767px) {
  table {
    background-color: #fff;
  }

  div.header {
    text-align: center;
  }

  div.header h1 {
    float: none;
    width: 100%;
    background-position: center;
  }

  div.header p {
    float: none;
  }

  div.header img {
    margin-top: 20px;
  }
}

@media (max-width: 979px) {
  body {
    margin-top: 0;
  }

  .navbar .nav li.register {
    float: left;
  }

  .navbar .nav li.register {
    width: 100%;
  }
}

@media (max-width: 1199px) {
  div.header h1 {
    margin: 0;
  }
}

@media (min-width: 1200px) {
  article {
    font-size: 16px;
    line-height: 150%;
  }
}
