/* Variables */
/* Fonts */
@font-face {
  font-family: 'Blanch Caps';
  src: url('/fonts/blanch_caps-webfont.eot');
  src: url('/fonts/blanch_caps-webfont.eot?#iefix') format('embedded-opentype'), url('/fonts/blanch_caps-webfont.woff') format('woff'), url('/fonts/blanch_caps-webfont.ttf') format('truetype'), url('/fonts/blanch_caps-webfont.svg#blanch_capsregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Blanch Caps Light';
  src: url('/fonts/blanch_caps_light-webfont.eot');
  src: url('/fonts/blanch_caps_light-webfont.eot?#iefix') format('embedded-opentype'), url('/fonts/blanch_caps_light-webfont.woff') format('woff'), url('/fonts/blanch_caps_light-webfont.ttf') format('truetype'), url('/fonts/blanch_caps_light-webfont.svg#blanch_caps_lightregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Mixins */
/* Layout */
body {
  background-color: #f2f0f0;
  margin: 0;
  font: 16px/22px 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #333;
}
a {
  color: #6d941b;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.clear {
  clear: both;
}
#header {
  position: relative;
  text-align: center;
  height: 220px;
  background-image: url('/img/style/header-pattern.jpg');
  box-shadow: 0 0 3px 0 #000000;
  -webkit-box-shadow: 0 0 3px 0 #000000;
  -moz-box-shadow: 0 0 3px 0 #000000;
}
#header .organizers {
  background: no-repeat center 37px url('/img/style/header-dividers.png');
  font-family: 'Blanch Caps Light';
  margin: 0;
  padding-top: 5px;
  color: #7b7b7b;
  font-size: 25px;
}
#header .organizers a {
  font-family: 'Blanch Caps';
}
#header .logo {
  position: absolute;
  margin-left: -183.5px;
  z-index: 1;
  left: 50%;
  top: 40px;
}
#header .header-links-wrap {
  background-image: url('/img/style/header-pattern.jpg');
  position: absolute;
  width: 100%;
  height: 50px;
  top: 170px;
  left: 0;
  z-index: 999;
}
#header .header-links {
  position: absolute;
  left: 50%;
  top: 0;
  width:500px;
  margin-left: -290px;
  margin-top: 15px;
}
#header .header-links li {
  font-family: 'Blanch Caps';
  font-size: 45px;
  display: inline;
  margin-left: 30px;
}
#header .header-links li:first-child {
  margin-left: 0;
}

#introduction {
  text-align: center;
  margin: 70px 0 0 0;
}
#introduction h2 {
  margin: 40px 0 20px 0;
  font: normal 50px 'Blanch Caps';
  color: #6d941b;
}
#introduction p {
  margin: 5px 0 40px 0;
}
#content {
  width: 512px;
  margin: 0 auto;
  padding: 20px 40px;
  padding-bottom: 60px;
  background-color: #fff;
  box-shadow: 0 0 8px #cccccc;
  -webkit-box-shadow: 0 0 8px #cccccc;
  -moz-box-shadow: 0 0 8px #cccccc;
}
#content ul li {
  padding: .2em 0;
}
#content form {
  font-size: 0;
  position: relative;
  height: 64px;
  padding-top: 15px;
}
#content form .email {
  position: absolute;
  outline: none;
  width: 300px;
  height: 50px;
  border: 1px solid #dad9d9;
  padding: 0;
  border-right: none;
  text-indent: 15px;
  font-size: 18px;
  color: #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  box-shadow: inset 3px 3px 3px 0px #eeeeee;
  -webkit-box-shadow: inset 3px 3px 3px 0px #eeeeee;
  -moz-box-shadow: inset 3px 3px 3px 0px #eeeeee;
}
#content form .email:focus {
  border-color: #77a811;
}
#content form .button {
  position: absolute;
  left: 290px;
  outline: none;
  border: none;
  background: no-repeat 0px 0px url('/img/style/button-keep-me-posted.png');
  width: 202px;
  height: 54px;
  text-indent: -9999px;
}
#content form .button:hover,
#content form .button:focus {
  opacity: 0.9;
}
#content hr {
  width: 510px;
  height: 17px;
  background:transparent url('/img/style/divider.png') center top;
  border: none;
  margin: 35px 0 0 0;
  clear: both;
}
#content h2,
#content h2 a,
#content h3,
#content h3 a,
#content h4,
#content h4 a {
  margin: 40px 0;
  font: normal 60px/40px 'Blanch Caps', sans-serif;
  color: #232323;
}
#content h3,
#content h3 a {
  font-size: 45px;
  margin-bottom: 20px;
}
#content h4,
#content h4 a {
  font-size: 35px;
  margin-bottom: 20px;
}
#content p {
  line-height: 22px;
}
#content ul.team {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
#content ul.team li {
  width: 190px;
  float: left;
  margin-left: 44px;
}
#content ul.team img {
  border: 1px solid #333;
}
#content ul.team p {
  text-align: center;
}
#content .sponsors {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}
#content .sponsors li {
  display: inline;
  padding: 0;
  margin: 0;
}
#content .sponsors li img {
  border: 1px solid #eee;
  padding: 10px;
  margin-right: 13px;
  margin-bottom: 13px;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -o-transition: -webkit-filter 0.4s ease-in-out;
  -ms-transition: -webkit-filter 0.4s ease-in-out;
  -moz-transition: -webkit-filter 0.4s ease-in-out;
  -webkit-transition: -webkit-filter 0.4s ease-in-out;
  transition: -webkit-filter 0.4s ease-in-out;
  opacity: 0.8;
}
#content .sponsors li img:hover {
  filter: grayscale(0%);
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  opacity: 1;
  border: 1px solid #ccc;
}
#content .sponsors li:nth-of-type(3n) img {
  margin-right: 0;
}
/* Footer (http://stackoverflow.com/a/8825714/62383) */
html,
body {
  height: 100%;
}
#holder {
  min-height: 100%;
  position: relative;
}
#footer-space {
  height: 90px;
}
#footer {
  height: 90px;
  background-image: url('/img/style/header-pattern.jpg');
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  color: #c7c7c7;
  font-size: 12px;
}
#footer .columns {
  width: 592px;
  margin: 25px auto 0 auto;
  position: relative;
}
#footer .credits {
  width: 370px;
  position: absolute;
}
#footer .credits p {
  margin: 0 0 5px 0;
}
#footer .co-organizers {
  position: absolute;
  left: 370px;
}
#footer .co-organizers p {
  margin: 0 0 20px 0;
}
#footer .co-organizers img {
  margin-right: 5px;
  opacity: 0.1;
}
.upcoming-events {
  margin: 0 auto;
  width: 520px;
}
.subscribe-form {
  margin: 0 auto;
  width: 520px;
  z-index: 1;
}
.homepage_photo {
  margin: 0 auto;
  width: 512px;
  text-align: center;
  display: block;
}

/* table of contents */
ol.toc, ol.toc ol {
  counter-reset: section;
  list-style-type: none;
  padding: 0;
}
ol.toc > li {
  margin-top: 10px;
}
ol.toc > li:before  {
  content: counters(section, ".") ". ";
}
ol.toc > li:first-child {
  margin-top: 0;
}
ol.toc ol {
  margin: 5px 0 0 20px;
}
ol.toc li + ol {
  margin-top: 20px;
}
ol.toc li {
  counter-increment: section;
}
ol.toc li li {
  font-size: 13px;
}
ol.toc ol li:before {
  content: counters(section, ".") " ";
}
.sponsors img {
  max-width: 32%;
}
.sponsors img.main-sponsor {
  max-width: 80%;
}
.sponsor-andyet img {
  margin: 0 0 -20px 20px;
}
.inset-right {
  float: right;
  margin-bottom: 20px;
  margin-left: 20px;
}
.teaser {
  text-align: center;
}

/* add extra space above headlines so that anchor scrolling
shows the heading and not the fixed header */
h1:before, h2:before, h3:before, h4:before {
  display: block;
  content: "";
  height: 70px;
  margin: -70px 0 0;
}
