@import url("http://fonts.googleapis.com/css?family=Economica:400,700&subset=latin,latin-ext");
@font-face {
  src: url('w3conf.ttf');
  font-family: 'W3Conf';
}
/* I love fontello.com! */
@font-face {
  font-family: 'W3Conf Symbols';
  src: url("fonts/w3conf-symbols.eot");
  src: url("fonts/w3conf-symbols.eot?#iefix") format('embedded-opentype'), url("fonts/w3conf-symbols.woff") format('woff'), url("fonts/w3conf-symbols.ttf") format('truetype'), url("fonts/w3conf-symbols.svg#w3conf-symbols") format('svg');
  font-weight: normal;
  font-style: normal;
}
.clearfix {
  content: '';
  display: block;
  clear: both;
}
.pseudo-fit-parent {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
/**
 * Styles
 */
html {
  height: 100%;
  background: #40bfbf url('img/location.jpg') left bottom fixed repeat-x;
  background-size: auto 100%;
}
body {
  width: 840px;
  min-height: 100%;
  box-sizing: border-box;
  padding: 0 2em 1em 2em;
  margin: 0 0 0 auto;
  background: #6b5947 url(img/noise.png);
  color: white;
  text-shadow: 0 -1px 2px #000000;
  font: 140%/1.5 Economica, sans-serif;
  hyphens: auto;
  -moz-font-feature-settings: "dlig=1";
  font-feature-settings: "dlig";
  box-shadow: -5px -3px 12px -5px #000000;
}
body:after {
  content: '';
  display: block;
  clear: both;
}
@media print {
  body {
    -webkit-print-color-adjust: exact;
    width: auto;
    margin-left: 2em;
    border-left: 5pt solid #6b5947;
    background: #e6d0b3;
    background-image: none !important;
    text-shadow: none;
    color: black;
  }
}
@media (max-width: 1070px) {
  body {
    padding-top: 2em;
  }
}
@media (max-width: 840px) {
  body {
    width: auto;
  }
}
@media (max-width: 700px) {
  body {
    padding-left: 1em;
    padding-right: 1em;
  }
}
a {
  color: inherit;
}
a img {
  border: 0;
}
address {
  font-style: normal;
}
header {
  float: left;
  width: 46%;
  padding: 2em 2em .5em .5em;
  box-sizing: border-box;
  font-size: 120%;
}
@media print {
  header {
    padding-top: 0;
  }
}
header h1 {
  float: left;
  position: relative;
  margin: 0.2em 0.2em 0 -0.15em;
  color: black;
  font-size: 280%;
  line-height: .5;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
}
header h1 .info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.4em;
  text-align: center;
  font-size: 24.8%;
  white-space: nowrap;
}
header h1 .info > :after {
  content: ' •';
  color: #40bfbf;
}
header h1 img,
header h1:before {
  position: absolute;
  left: -1.7em;
  top: -0.55em;
  width: 1.5em;
}
header h1:before {
  content: '';
  background: url(logo.svg) no-repeat;
  background-size: contain;
  z-index: -1;
  height: 1.7em;
  filter: url(img/blur.svg#blur);
  -webkit-filter: blur(4px) opacity(0.8);
  filter: blur(4px) opacity(0.8);
}
.-ms- header h1:before {
  content: none;
}
header .intro {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #e6d0b3;
  text-align: justify;
  font-size: 95%;
}
header .intro + p {
  margin: 1.5em 0;
}
@media print {
  header .intro {
    color: #6b5947;
  }
}
@media (max-width: 840px) {
  header {
    width: 90%;
    padding: .5em;
    padding-left: 4em;
  }
}
body.single > header,
body.single > header h1 {
  float: none;
}
body.single > header {
  margin-bottom: 1em;
}
.-moz- header h1 {
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.55);
}
.main-info {
  position: fixed;
  bottom: 1em;
  right: 850px;
  padding: 0 1em;
  text-align: right;
  font-size: 84%;
}
.main-info .tagline {
  margin: 0;
}
.main-info .tagline br {
  display: none;
}
.main-info .when,
.main-info .where {
  display: inline;
  margin: 0;
  font-size: 135%;
}
.main-info .where:before {
  content: '•';
  opacity: .5;
}
@media (max-width: 1200px) and (min-width: 1071px) {
  .main-info .tagline br {
    display: block;
  }
  .main-info .when,
  .main-info .where {
    display: block;
  }
  .main-info .where:before {
    content: none;
  }
}
@media (max-width: 1070px) {
  .main-info {
    position: static;
    margin-top: 2em;
    text-align: center;
  }
  .main-info .tagline {
    display: inline;
    font-size: 135%;
  }
  .main-info .when:before {
    content: '•';
    opacity: .5;
  }
}
@media screen and (max-width: 1070px) {
  .main-info .tagline {
    color: #d1e085;
  }
}
input,
button,
.button {
  padding: .2em .4em;
  border-radius: .3em;
  font: inherit;
  line-height: normal;
}
input {
  border: 0;
  background: url(img/noise.png) #e6d0b3;
  box-shadow: 0 1px 1px #ffffff, 0 0.1em 0.2em 0.02em #6b5947 inset, 0 0 0 0.1em rgba(0, 0, 0, 0.1);
  /* Warning: non-standard */

}
input:focus {
  background: white;
}
input:-moz-placeholder {
  color: #ad9985;
}
input:-ms-placeholder {
  color: #ad9985;
}
input::-webkit-input-placeholder {
  color: #ad9985;
}
button,
.button {
  border: 1px solid transparent;
  background: url(img/noise.png) #b2cc33;
  background-image: url(img/noise.png), linear-gradient(transparent, rgba(0, 0, 0, 0.3));
  background-clip: border-box;
  background-origin: border-box;
  color: #475214;
  text-shadow: 0 1px 2px white;
  text-decoration: none;
  box-shadow: 0 1px rgba(255, 255, 255, 0.6) inset, 0 0.2em 0.2em -0.1em rgba(0, 0, 0, 0.3);
}
button:hover,
.button:hover {
  background-color: #c2d65c;
}
button:active,
.button:active {
  border-color: rgba(0, 0, 0, 0.4);
  background: url(img/noise.png) #8fa329;
  box-shadow: 0 1px rgba(255, 255, 255, 0.3), 0 1px 0.3em 0.05em #000000 inset;
  color: #475214;
}
button:active > strong,
.button:active > strong {
  padding-top: 2px;
}
.register {
  display: block;
  min-width: 205px;
  padding: .3em .8em .7em;
  font-size: 70%;
}
.register:active > strong {
  padding-top: 2px;
}
.register strong {
  display: block;
  line-height: 1.2;
  font-size: 220%;
}
.register > strong {
  color: #596619;
}
.register .discount {
  float: right;
  width: 4em;
  padding: .8em 0 1em;
  margin: -5.2em -2.7em 0 0;
  background: url("img/hexagon.svg") no-repeat center;
  background-size: contain;
  color: white;
  text-shadow: none;
  text-align: center;
  line-height: 1;
}
.register .discount strong {
  font-size: 140%;
}
.organizer {
  /*position: relative;
	float: right;
	padding: .5em;
	border-radius: .4em;
	margin: 0 0 0 7.5em;
	background: @orange @noise;
	background-image: @noise, linear-gradient(transparent, fade(black, 20%));
	box-shadow: 1px 2px 8px -2px black;*/

  text-align: center;
  font-size: 80%;
  line-height: .8;
  text-shadow: 0 -1px 2px rgba(0, 0, 0, 0.8);
  /*
	&:before {
		content: '';
		position: absolute;
		top: 1px;
		right: -1px;
		bottom: -1px;
		left: 1px;
		margin: .5em;
		border: 1px dashed black;
		border-color: rgba(0,0,0,.5);
	}
	*/

}
.organizer a {
  position: relative;
  display: block;
  /*padding: .5em .5em 0;
		border: 1px dashed;*/

  text-decoration: none;
}
.organizer img[alt="W3C"] {
  width: 6em;
  height: 4em;
  margin-right: -0.4em;
  /* to account for ® */

}
.summary {
  padding-left: 0;
  margin-top: 1.5em;
  font-size: 90%;
}
.summary li {
  list-style: none;
  border-top: 1px dashed rgba(255, 255, 255, 0.3);
  border-bottom: 1px dashed rgba(0, 0, 0, 0.5);
}
.summary li:first-child {
  border-top: none;
}
.summary li:last-child {
  border-bottom: none;
}
.summary li a {
  display: block;
  padding: .2em 0 .2em 1.3em;
  text-decoration: none;
  color: #e8987d;
  transition: .3s color;
}
.summary li a:before {
  display: inline-block;
  width: 1.3em;
  margin-right: .7em;
  text-align: center;
  font-family: 'W3Conf Symbols';
}
.summary li a.location:before {
  content: '\E724';
}
.summary li a.date:before {
  content: '\1F4C5';
}
.summary li a.twitter:before {
  content: '';
}
.summary li a.lanyrd:before {
  content: 'L';
}
.summary li a.contact:before {
  content: '✉';
}
.summary li:nth-child(3n) a {
  color: #79d2d2;
}
.summary li:nth-child(3n+2) a {
  color: #c2d65c;
}
.summary li a:hover,
.summary li a:focus {
  color: white;
}
@-moz-keyframes slide-right {
  from {
    left: -400px;
    opacity: 0;
  }
}
@-webkit-keyframes slide-right {
  from {
    left: -400px;
    opacity: 0;
  }
}
@-o-keyframes slide-right {
  from {
    left: -400px;
    opacity: 0;
  }
}
@keyframes slide-right {
  from {
    left: -400px;
    opacity: 0;
  }
}
nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  -moz-animation: slide-right 1.5s backwards;
  -webkit-animation: slide-right 1.5s backwards;
  -o-animation: slide-right 1.5s backwards;
  animation: slide-right 1.5s backwards;
  /*@media (max-width: 850px) {
		& {
			position: static;
			margin-left: -2em;
		}
	}*/

}
nav ul {
  float: left;
  padding: 0 16px 0 0;
  background: url(img/hexagon-rotated.svg) right no-repeat;
  background-size: auto 101%;
  box-shadow: -16px 2px 3px rgba(0, 0, 0, 0.4);
}
nav ul li {
  float: left;
  min-height: 2.14em;
  background: black;
  list-style: none;
}
nav ul li a {
  float: left;
  padding: .3em .5em;
  margin: 0 .2em;
  border-radius: 1px;
  text-decoration: none;
  font-weight: bold;
}
nav ul li a:hover {
  position: relative;
  background: #dd643c;
  box-shadow: 0 0 0 0.2em #dd643c, 0.05em 0.05em 0.3em 0.2em rgba(0, 0, 0, 0.4);
}
nav ul li:nth-of-type(3n) a:hover {
  background: #40bfbf;
  box-shadow: 0 0 0 0.2em #40bfbf, 0.05em 0.05em 0.3em 0.2em rgba(0, 0, 0, 0.4);
}
nav ul li:nth-of-type(3n+2) a:hover {
  background: #b2cc33;
  box-shadow: 0 0 0 0.2em #b2cc33, 0.05em 0.05em 0.3em 0.2em rgba(0, 0, 0, 0.4);
}
body > section {
  min-height: 5em;
  margin-bottom: 5em;
}
body > section > h1 {
  position: relative;
  z-index: 1;
  float: left;
  padding: .1em .3em .2em .3em;
  margin: 0 0 0 -1.3em;
  transform: translate(0.14em, 1em) skewY(-30deg) scaleX(0.85);
  transform-origin: 0 0;
  font-size: 280%;
  line-height: 1;
  white-space: nowrap;
  /* Background */

  /* Fold */

}
@media print {
  body > section > h1 {
    -webkit-print-color-adjust: exact;
    color: white;
    text-shadow: 0 -1px 2px #000000;
    margin-left: -1em;
  }
}
body > section > h1:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #40bfbf url(img/noise.png);
  background-image: url(img/noise.png), linear-gradient(-90deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
  border-radius: 3px 5px 5px 0;
}
@media print {
  body > section > h1:after {
    -webkit-print-color-adjust: exact;
    box-shadow: none;
    background-image: url(img/noise.png);
  }
}
body > section > h1:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2rem;
  z-index: -1;
  width: 0;
  height: 0;
  border: 1rem solid #267373;
  border-bottom-color: transparent !important;
  border-left-color: transparent !important;
}
@media screen and (max-width: 800px) {
  body > section > h1 {
    transform: scale(1);
    float: none;
    margin-left: 0;
  }
  body > section > h1:before {
    content: none;
  }
  body > section > h1:after {
    border-radius: 5px;
  }
}
body > section:nth-of-type(3n+2) > h1:after {
  background-color: #dd643c;
}
body > section:nth-of-type(3n+2) > h1:before {
  border-color: #983a1b;
}
body > section:nth-of-type(3n) > h1:after {
  background-color: #b2cc33;
}
body > section:nth-of-type(3n) > h1:before {
  border-color: #6b7a1f;
}
body > section > h2,
body > section section > h1 {
  margin-bottom: .3em;
  color: black;
  font-size: 180%;
  text-shadow: 0 0.03em 0.05em rgba(255, 255, 255, 0.5);
}
body > section > h2 + p,
body > section section > h1 + p {
  margin-top: .4em;
}
@media print {
  body > section > h2,
  body > section section > h1 {
    text-shadow: none;
  }
}
body > section > h3,
body > section section h2,
body > section section section h1 {
  color: #e6d0b3;
}
@media print {
  body > section > h3,
  body > section section h2,
  body > section section section h1 {
    color: #6b5947;
  }
}
@media print {
  body > section h1,
  body > section h2,
  body > section h3 {
    page-break-after: avoid;
  }
  body > section h1 + p,
  body > section h2 + p,
  body > section h3 + p {
    page-break-before: avoid;
  }
}
table {
  clear: both;
  width: 100%;
  border-spacing: 0;
  border-radius: 10px;
}
table td,
table th {
  padding: .2em .5em;
  vertical-align: top;
}
table td {
  text-align: center;
}
table th:first-child {
  max-width: 13em;
  text-align: right;
  font-weight: normal;
}
table td:nth-child(even) {
  background-color: rgba(229, 208, 179, 0.1);
}
table thead a {
  text-decoration: none;
}
table thead a:hover {
  text-decoration: underline;
}
table thead th {
  border: 1px solid transparent;
  border-left-color: rgba(0, 0, 0, 0.15);
  border-right-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 1px rgba(255, 255, 255, 0.8) inset, 0 0.7em rgba(255, 255, 255, 0.2) inset;
  background: url(img/noise.png) #e6d0b3;
  background-image: url(img/noise.png), linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  color: black;
  text-shadow: 0 .05em .05em white;
  font-size: 120%;
}
table thead th:first-child {
  border-top-left-radius: 10px;
}
table thead th:last-child {
  border-top-right-radius: 10px;
}
@media print {
  table thead th {
    -webkit-print-color-adjust: exact;
    box-shadow: none;
    background: #ffffff url(img/noise.png);
    text-shadow: none;
  }
}
table tbody td,
table tbody th {
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}
table tbody tr:first-child th,
table tbody tr:first-child td {
  border-top: 0;
}
table tbody tr:last-child th,
table tbody tr:last-child td {
  border-bottom: 0;
}
table tbody th {
  color: #e6d0b3;
}
@media print {
  table tbody th {
    color: #6b5947;
  }
}
table tbody td:empty {
  color: #e6d0b3;
}
table tbody td:empty:before {
  content: '-';
}
table tfoot {
  font-size: 120%;
  font-weight: bold;
}
table tfoot th,
table tfoot td {
  background: url(img/noise.png) #39acac;
}
table tfoot td:nth-child(even) {
  background-color: #40bfbf;
}
table tfoot th {
  border-bottom-left-radius: 10px;
}
table tfoot td:last-child {
  border-bottom-right-radius: 10px;
}
#speakers {
  text-align: right;
}
#speakers > h1 {
  display: none;
  position: absolute;
  margin-top: 1.5em;
  /*padding-top: .15em;
		padding-bottom: .25em;
		clear: both;
		
		&:before {
			bottom: -3.85rem;
			z-index: -1;
			width: 0; height: 0;
			border-width: 1.95rem;
		}*/

}
#speakers > a {
  position: relative;
  display: inline-block;
  margin: -38px 0 0 13px;
  text-decoration: none;
  line-height: 0;
}
#speakers > a article {
  display: inline;
}
#speakers > a:first-of-type {
  margin-top: 40px;
}
#speakers > a > article > h1 {
  margin: 0;
  text-align: left;
  font-size: 90%;
  line-height: 1;
  font-weight: normal;
  text-transform: uppercase;
}
#speakers > a > article > h1 .first-name,
#speakers > a > article > h1 .last-name {
  position: absolute;
  z-index: 1;
  bottom: .6em;
  padding: .3em;
  background: black;
  white-space: nowrap;
}
#speakers > a > article > h1 .first-name {
  right: 50%;
  transform: skewY(30deg) scaleX(0.85);
  transform-origin: right top;
  border-radius: .2em 0 0 .2em;
}
#speakers > a > article > h1 .last-name {
  left: 50%;
  transform: skewY(-30deg) scaleX(0.85);
  transform-origin: left top;
  border-radius: 0 .2em.2em 0;
}
#speakers > a img {
  height: 200px;
  transition: .5s filter;
  -webkit-transition: 0.5s -webkit-filter;
}
#speakers > a:not(:hover):not(:focus) img {
  -webkit-filter: sepia(85%) hue-rotate(-15deg);
  filter: url(img/sepia.svg#sepia);
  filter: sepia(85%) hue-rotate(-15deg);
}
#speakers > a .bio {
  max-width: 300px;
  display: none;
}
#speakers .more {
  width: 180px;
  height: 200px;
  background: url(img/hexagon.svg);
  background-size: 100% auto;
  text-align: center;
  font-size: 120%;
  /* To avoid messing with vertical-align */

}
#speakers .more > p {
  position: absolute;
  top: 35px;
  left: 0;
  right: 0;
  padding: 0 20px;
  line-height: 1.3;
}
#speakers .more:before {
  content: '?';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 700%;
  line-height: 200px;
  font-weight: bold;
  text-indent: .1em;
  opacity: .2;
}
@media (min-width: 841px) {
  #speakers > a:nth-of-type(3n+1):nth-of-type(-n+9),
  #speakers > a:nth-of-type(6n+12) {
    margin-right: 98px;
  }
}
@media (max-width: 840px) {
  #speakers {
    float: none;
    max-width: none;
    margin-left: -2em;
    margin-right: -1em;
  }
  #speakers > h1 {
    position: static;
  }
  #speakers article:first-of-type {
    margin-top: 30px;
  }
}
@media (max-width: 840px) and (min-width: 800px) {
  #speakers > a:nth-of-type(7n+3) {
    margin-right: 98px;
  }
}
@media (max-width: 799px) and (min-width: 710px) {
  #speakers > a:nth-of-type(6n+3) {
    margin-right: 98px;
  }
}
@media (max-width: 709px) and (min-width: 640px) {
  #speakers {
    margin-left: 0;
    margin-right: 0;
  }
  #speakers > a:nth-of-type(5n) {
    margin-right: 98px;
  }
}
@media (max-width: 639px) and (min-width: 570px) {
  #speakers > a:nth-of-type(5n+2) {
    margin-right: 98px;
  }
}
@media (max-width: 569px) and (min-width: 470px) {
  #speakers > a:nth-of-type(4n+2) {
    margin-right: 98px;
  }
}
@media (max-width: 469px) and (min-width: 0px) {
  #speakers > a:nth-of-type(3n) {
    margin-right: 98px;
  }
}
#location .map {
  float: right;
  margin-left: 1em;
  border-radius: 1em;
  transition: .5s filter;
  transition: 0.5s -webkit-filter;
}
#location .map:not(:hover) {
  -webkit-filter: sepia(85%) hue-rotate(-15deg);
  filter: url(img/sepia.svg#sepia);
  filter: sepia(85%) hue-rotate(-15deg);
}
.photo {
  max-width: 100%;
  margin: 1em 0;
  padding: .4em;
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}
#notable-attendees {
  hyphens: manual;
}
#notable-attendees ul {
  padding-left: 0;
}
#notable-attendees li {
  display: inline;
  line-height: 2.1;
}
#notable-attendees a {
  position: relative;
  display: inline-block;
  padding: .3em .5em;
  margin: 0 .15em;
  border-radius: .2em;
  background: black;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}
#notable-attendees a:hover,
#notable-attendees a:focus {
  background: #40bfbf;
}
#live dl {
  box-sizing: border-box;
  float: left;
  width: 25%;
  padding-right: 1px;
}
#live dl:nth-of-type(3n+2) dd a {
  background: #40bfbf;
}
#live dl:nth-of-type(3n) dd a {
  background: #b2cc33;
}
#live dl:nth-of-type(n) dd a:hover {
  background: black;
}
#live dt,
#live dd {
  color: white;
  text-align: center;
}
#live dt {
  padding: .2em 0;
  background: black;
  font-weight: bold;
  font-size: 80%;
}
#live dd {
  margin: 0;
}
#live dd a {
  display: block;
  padding: .2em 0;
  text-decoration: none;
  background: #dd643c;
}
#sponsors {
  clear: both;
}
#sponsors a[target="_blank"] {
  display: inline-block;
  padding: 15px;
  margin-right: 10px;
  border-radius: 8px;
  background: white;
  text-align: center;
  line-height: 0;
  box-shadow: 0 8px 8px -5px rgba(0, 0, 0, 0.6);
}
#sponsors img {
  max-height: 70px;
}
#sponsors .silver a {
  min-width: 150px;
}
#sponsors .silver a img {
  max-height: 40px;
}
#sponsors .bronze img {
  max-height: 30px;
}
#raffle > p:first-of-type {
  padding-top: 2em;
}
#raffle h2:after {
  content: '✓';
  margin-left: .2em;
  color: #b2cc33;
  text-shadow: 0 -1px 2px #000000;
}
#raffle > p a {
  color: #eca993;
  font-weight: bold;
  text-decoration: none;
}
#raffle footer {
  position: relative;
  padding-top: 1em;
  border-top: 2px dotted black;
  margin-top: 1.5em;
}
#raffle footer:before {
  content: '❧';
  position: absolute;
  left: 45%;
  right: 45%;
  top: -0.5em;
  background: #6b5947 url(img/noise.png);
  color: black;
  text-shadow: none;
  text-align: center;
  font-size: 200%;
  line-height: 1;
}
#raffle footer p {
  margin-top: 0;
}
@media (min-width: 840px) {
  #schedule h1 {
    margin-bottom: -0.4em;
  }
}
#schedule table th {
  font-weight: normal;
}
#schedule table tbody th {
  font-size: 200%;
}
#schedule table td {
  width: 50%;
  vertical-align: middle;
  color: #8cd9d9;
  font-size: 120%;
  font-weight: bold;
}
#schedule table td .secondary {
  display: block;
  color: white;
  font-size: 70%;
  font-weight: normal;
  text-decoration: none;
}
#schedule table .break td {
  color: #b2cc33;
}
#schedule table th:first-child,
#schedule table td:first-child {
  text-align: right;
}
#schedule table th:last-child,
#schedule table td:last-child {
  text-align: left;
}
#schedule .twitter {
  color: black;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
  font-weight: normal;
  font-size: 85%;
}
#schedule .twitter:not(:hover) {
  text-decoration: none;
}
body > footer {
  position: relative;
  display: block;
  clear: both;
  padding: 1em 2em;
  margin: 2em -2em -1em;
  background: url(img/noise.png) #534537;
}
@media (max-width: 700px) {
  body > footer {
    margin-right: -1em;
    margin-left: -1em;
  }
}
body > footer:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -25px;
  height: 25px;
  color: #534537;
  background-image: url(img/noise.png), linear-gradient(30deg, transparent 34%, currentColor 34%, currentColor 66%, transparent 66%), linear-gradient(150deg, transparent 34%, currentColor 34%, currentColor 66%, transparent 66%);
  background-size: auto, 40px 80px, 40px 80px;
  background-repeat: repeat, repeat-x;
  background-position: top;
}
body > footer:after {
  content: '';
  display: block;
  clear: both;
}
body > footer .organizer {
  float: right;
  margin: 0;
  font-size: 100%;
}
@media print {
  body > footer {
    -webkit-print-color-adjust: exact;
    color: white;
    background-color: #a38c75;
  }
  body > footer:before {
    color: #a38c75;
  }
}
/* Twitter wall */
.tweets {
  clear: both;
  max-height: 620px;
  overflow: auto;
  font-size: 130%;
}
.tweets:empty:before {
  content: 'No tweets to display';
  font-style: italic;
}
.tweets .tweet {
  opacity: 0;
  transition: 1s opacity;
}
.tweets .tweet.displayed {
  opacity: 1;
}
.tweet {
  padding: .3em 0;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
.tweet:first-of-type {
  border-top: 0;
}
.tweet:last-of-type {
  border-bottom: 0;
}
.tweet a {
  text-decoration: none;
}
.tweet .username {
  color: #66cccc;
}
.tweet h1 {
  margin: 0;
  font-size: 75%;
}
.tweet time {
  color: #e6d0b3;
  font: italic 100% Baskerville, 'Palatino Linotype', Palatino, Georgia, serif;
}
.tweet p {
  margin: 0 0 0 60px;
}
.tweet p a {
  color: #d9e699;
}
.tweet img {
  float: left;
  max-width: 48px;
  margin: .3em .5em 0 0;
}
#lightbox {
  visibility: hidden;
  position: fixed;
  top: 50%;
  left: 65%;
  z-index: 10;
  width: 0;
  height: 0;
  padding: 10px;
  margin: -10px 0 0 -10px;
  background: white;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}
#lightbox.closed {
  transition: 0.5s box-shadow, 1s 0.5s height, 1s 0.5s margin-top, 1s 1.5s width, 1s 1.5s margin-left, 0 2.5s visibility;
}
#lightbox.open {
  visibility: visible;
  width: 640px;
  height: 360px;
  margin: -190px 0 0 -330px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5), 0 0 0 4000px rgba(0, 0, 0, 0.3);
  transition: 1s width, 1s margin-left, 1s 1s height, 1s 1s margin-top, 0.5s 2s box-shadow;
}
#lightbox > a {
  /* Close button */

  visibility: hidden;
  position: absolute;
  right: -0.5em;
  top: -0.5em;
  width: 1em;
  padding: .3em;
  background: #40bfbf;
  border: .2em solid white;
  border-color: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
  color: white;
  text-shadow: 0 -0.1em 0.1em rgba(0, 0, 0, 0.5);
  text-align: center;
  font: bold 150%/1 serif;
  text-decoration: none;
}
#lightbox.open > a {
  visibility: visible;
}
#lightbox > a:hover {
  background: #dd643c;
}
#lightbox > iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
#lightbox > iframe {
  display: none;
  background: black;
}
#lightbox.open > iframe {
  display: block;
}
#tweetspopup {
  display: none;
  position: fixed;
  left: 65%;
  top: 50%;
  z-index: 11;
  margin-top: -200px;
  margin-left: -740px;
  padding: 10px;
  background: #6b5947 url(img/noise.png);
  border-radius: 8px;
  box-shadow: 1px 4px 10px rgba(0, 0, 0, 0.4);
}
#tweetspopup:after {
  content: '';
  position: absolute;
  right: -10px;
  bottom: 50%;
  width: 20px;
  height: 20px;
  background: inherit;
  transform: rotate(45deg);
}
#lightbox.open + #tweetspopup {
  display: block;
  transform: scale(0);
  transform-origin: right center;
  transition: 0.4s transform cubic-bezier(0.5, 0, 0.7, 1.8);
}
#lightbox.open + #tweetspopup.open {
  transform: none;
}
#videos:after {
  content: '';
  display: block;
  clear: both;
}
@media (min-width: 680px) {
  #videos section {
    width: 50%;
    float: left;
  }
}
#videos a {
  text-decoration: none;
}
#videos article {
  position: relative;
  display: inline-block;
  vertical-align: top;
  min-height: 13em;
  width: 300px;
  margin: 20px;
  line-height: 1.2;
}
#videos article img {
  max-width: 100%;
}
#videos article h1,
#videos article p {
  margin: 0;
}
#videos article h1 {
  margin-top: .3em;
  color: #c2d65c;
  font-size: 100%;
}
#videos article .not-ready {
  padding: 3.2em;
  background: black;
  color: white;
  text-align: center;
}
#videos article time {
  position: absolute;
  top: 120px;
  right: 0;
  padding: .3em .5em;
  margin-right: -5px;
  background: #dd643c;
  border-radius: .2em 0 0 .2em;
  box-shadow: -1px 2px 5px rgba(0, 0, 0, 0.3);
  font-size: 80%;
}
#videos article time:after {
  content: '';
  position: absolute;
  bottom: -5px;
  right: 0;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left-color: #6c2913;
  border-top-width: 0;
  border-right-width: 0;
}
#videos .slides {
  display: inline-block;
  padding: .2em .3em;
  margin-left: .1em;
  background: #39acac;
  color: white;
  border-radius: .2em;
  font-size: 65%;
  text-transform: uppercase;
}
#videos .slides:hover {
  background: black;
}
#videos a:hover article:before {
  content: '▶';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1em;
  padding: .5em .4em .3em;
  margin-left: -1.1em;
  margin-top: -2.6em;
  border: .2em solid;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.5);
  text-indent: .15em;
  font: 150%/1 serif;
}
