/* To do
  - Extra wide styles (1500ish)
  - Smaller type sizes as you move towards mobile/tablet
*/

.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
  }

::selection {
  background: #191818;
  color: #fff;
  text-shadow: none;
  }

.mobile_only,
#mobile_nav {
  display: none;
  }
  
body {
  background: #fff;
  text-rendering: optimizeLegibility;
  font-family: "proxima-nova", 'Helvetica Neue', Arial, sans-serif;
  font-size: 13px;
  color: #575757;
  -webkit-text-size-adjust: none;
  }

.row li p,
.timeline .topic p {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
	hyphens: auto;	
	}

p, ol, ul, dl, dt, dd, blockquote {
  font-size: 15px;
  line-height: 25px;
  margin: 0 0 25px;
  }

blockquote {
  border-left: 5px solid #e5e5e5;
  padding-left: 25px;
  }

li, dt, dd {
  margin-left: 25px;
  }

strong {
  font-weight: 600;
  }

img {
  max-width: 100%;
  }

hr {
  border: 0;
  border-top: 1px dashed #eee;
  margin: 25px 0;
  padding: 0;
  height: 0;
  clear: both;
  }

a {
  color: #c42f37;
  cursor: pointer;
  text-decoration: none;
  }

a:hover {
  color: #111;
  text-decoration: none;
  }

h2 {
  font-family: "kulturista-web", Georgia, Times, serif;
  color: #191818;
  width: 70%;
  margin: 0 auto;
  font-size: 48px;
  line-height: 50px;
  margin-bottom: 10px;
  text-align: center;
  background: url(../images/nuts_white_red.gif) 50% 100% no-repeat;
  padding: 0 0 30px;
  }

h3 {
  font-family: "kulturista-web", Georgia, Times, serif;
  color: #2a2a2a;
  font-size: 28px;
  line-height: 35px;
  margin: 0;
  }

h4 {
  text-align: left;
  color: #909090;
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 25px;
  padding: 0;
  }
 
h5 {
	color: #909090;
	}

h6 {
  font-size: 11px;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #909090;
  margin: 0 0 5px;
  font-weight: 600;
  }
  
footer {
	padding: 50px 0 29px;
	background: #191818;
	}

input::-webkit-input-placeholder {
  color: #666;
}

footer a {
	color: #bbb;
	}
	
footer a:hover {
	color: #fff;
	}

footer h4 {
	color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding-left: 1px!important;
  font-size: 11px;
  line-height: 21px;
  margin-bottom: 2px;
  text-align: center;
  }

footer h3 {
	color: #bbb;
  font-size: 18px;
  line-height: 21px;
  margin-bottom: 21px;
  text-align: center;
  }
 
footer h3 a {
	display: block;
	padding-bottom: 50px;
	background: url(../images/footer_placeholder.png) 50% 100% no-repeat;
	background-size: 36px 36px;
}

footer h3 a.footer_facebook {
	background-image: url(../images/facebook.jpg);
	}

footer h3 a.footer_twitter {
	background-image: url(../images/twitter.jpg);
	}

footer h3 a.footer_shop {
	background-image: url(../images/draft.jpg);
	}
	
footer h3 a.footer_blog {
	background-image: url(../images/tumblr.jpg);
	}

footer .row li p, footer .row li li {
	color: #666;
	font-size: 13px;
  line-height: 21px;
  margin: 0;
  list-style: none;
  padding: 0;
  }
  
header {
  min-height: 0;
  background-image: none;
  background: #191818;
  padding: 30px 0;
  }

header p {
  display: none;
  }

.detail header {
  overflow: hidden;
  padding: 0;
  -webkit-transform: scale();
  -moz-transform: scale();
  transform: scale();
  }
  
body.detail {
  background: #191818;
  }

.detail header.top {
  opacity: 1;
  height: 156px;
  }

.detail header .wrap {
  position: relative;
  -webkit-transition:  top 300ms cubic-bezier(.10, .87, .29, .93); 
  -moz-transition: top 300ms cubic-bezier(.10, .87, .29, .93); 
  -ms-transition: top 300ms cubic-bezier(.10, .87, .29, .93); 
  -o-transition: top 300ms cubic-bezier(.10, .87, .29, .93); 
  transition:  top 300ms cubic-bezier(.10, .87, .29, .93);
  -webkit-transition: opacity 100ms linear;
  -moz-transition: opacity 100ms linear 0s;
  -ms-transition: opacity 100ms linear 0s;
  -o-transition: opacity 100ms linear 0s;
  transition: opacity 100ms linear;
  }

.detail header .wrap .fix {
  padding: 30px 0;
  }

header .wrap {
  padding: 0;
  }

header #logo {
  margin: 0;
  width: 20.5%;
  position: absolute;
  }

header #logo a {
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  background: #191818 url(../images/logo-knockout.png) 50% 50% no-repeat;
  height: 90px;
  padding: 0;
  -webkit-transition: background-color 100ms linear;
  -moz-transition: background-color 100ms linear;
  -ms-transition: background-color 100ms linear;
  -o-transition: background-color 100ms linear;
  transition: background-color 100ms linear;
  }

header #logo a:hover {
  background-color: #191818;
  }

header nav {
  width: 100%;
  }

header ul {
  margin: 0;
  padding: 0 0 0 26.5%;
  width: 100%;
  }

header ul.top {
  padding-bottom: 6px;
  margin-bottom: 6px;
  }

header li {
  margin: 0 3%;
  padding: 0;
  list-style: none;
  line-height: 18px;
  width: 20.5%;
  float: left;
  text-align: left;
  }

header li.first {
  margin-left: 0;
  }

header li.last {
  margin-right: 0;
  }

header a {
  border: none;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px;
  display: block;
  padding: 5px 0;
  font-weight: 600;
  }
 
header a.unannounced,
header a.unannounced:hover,
header a.unannounced:hover span {
	color: #909090;
	cursor: default;
	}

header a.nav-button {
  padding: 0;
  }
  
header a span {
  color: #909090;
  font-size: 9px;
  display: block;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 14px;
  -webkit-transition: color 120ms linear;
  -moz-transition: color 120ms linear;
  -o-transition: color 120ms linear;
  transition: color 120ms linear;
  }

header a:hover,
header a:active {
  text-decoration: none;
  color: #fff;
  }

header a:hover span,
header .active a span,
header a:active span {
  color: #c42f37;
  }

section {
  margin: 0;
  padding: 80px 0 75px;
  background: #fff;
  }

section.first {
	padding-top: 75px;
	}

section.first .row {
	padding-top: 0;
	}
  
section.first .row > li.meta.first {
	padding-top: 0;
  }
  
section.first .row > li.meta.first p.start {
	margin-top: 0;
  }
 
section.first .row > li.topic,
section.first .row > li.meta.last {
	margin-top: -8px;
	}

section.first .row > li.topic.opening_address {
	margin-top: -3px;
	}
  
section.last,
.timeline section.last {
  padding-bottom: 75px;
  }

.timeline section {
  padding: 0;
  background: #fff;
  }

.timeline section.first {
	padding-top: 75px;
	}

.timeline section .wrap li.first {
	background-image: url(../images/greyline.png);
  background-position: 50% 0;
  background-repeat: repeat-y;
  }

section.intro_section {
  padding-top: 120px;
	padding-bottom: 50px;
  background: #fff;
  }
  
.pattern {
  height: 31px;
  background: transparent url(../images/shadow-patt.png) 50% 100% repeat-x;
  position: absolute;
  z-index: 100;
  top: 156px;
  left: 0;
  right: 0;
  }

p.intro {
  text-align: center ;
  width: 70%;
  margin: 0 auto;
  color: #909090;
  font-size: 21px;
  line-height: 32px;
  padding: 10px 0 0;
  font-family: "proxima-nova", 'Helvetica Neue', Arial, sans-serif;
  font-weight: 300;
  }

input, textarea {
	font-family: "proxima-nova", 'Helvetica Neue', Arial, sans-serif;
	}

section.location {
  background: #fff;
  text-align: center;
  padding: 0 0 75px;
  border-bottom: 1px dashed #eee;
  }

section.location a,
section.location p {
  display: inline-block;
  text-align: center;
  line-height: 23px;
  padding: 9px 17px 7px 32px;
  font-size: 13px;
  margin: 0;
  background: #f1f1f1 url(../images/location-grey@2x.png) 13px 50% no-repeat;
  background-size: 12px 16px;
  color: #888;
  white-space: nowrap;
  border-radius: 50px;
  -moz-transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
  overflow: hidden;
  }
  
section.location a:hover {
  background-position: 13px 50%;
  background-image: url(../images/location-white@2x.png);
  color: #fff;
  background-color: #565555;
  }

p.intro a {
  color: #2a2a2a;
  }

p.intro a:hover {
  color: #c42f37;
  }

.wrap {
  max-width: 1165px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  }

.row {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  position: relative;
  }

.timeline .row {
  padding: 50px 0;
  }

.timeline .minor.row {
  padding: 0;
  }

.row > li {
  float: left;
  margin: 0 3%;
  padding: 0;
  width: 20.5%;
/*   overflow: hidden; */
  }

.row > li.first {
  margin-left: 0;
  }

.timeline .row > li.first {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: auto;
  padding-top: 50px;
  }

.timeline .last .row > li.first {
  bottom: auto;
  }

.timeline .last .row > li.topic {
	min-height: 285px;
	}

.timeline .minor.row > li.first {
  padding-top: 0;
  }

.row > li.last {
  margin-right: 0;
  }

.row li.topic {
  width: 47%;
  margin: 0 3%;
/*   min-height: 285px; */
  }

.timeline .row li.topic {
  margin-left: 26.5%;
  }
  
.row li.topic p {
  font-size: 15px;
  line-height: 25px;
  margin-bottom: 25px;
  }

.row li.meta {
  padding-top: 0;
  }

.row li.meta.last {
  padding-top: 88px;
  }

.row li.meta img {
  display: block;
  margin: 0 auto;
  clear: both;
  }

.row li.meta p {
  font-size: 12px;
  line-height: 20px;
  margin: 0 0 25px;
  color: #909090;
  }

.row li.meta p.link { 
  margin: 0 0 7px;
  line-height: 18px;
  }

.row li.meta p.dots {
  color: #c42f37;
  margin: 0 0 5px;
  }

.row li.meta p.start {
  text-align: left;
  font-size: 12px;
  line-height: 19px;
  padding: 0 0 0 28px;
  height: 25px;
  width: 49.6%;
  letter-spacing: 1px;
  margin: 8px -16px 53px 0;
  background: url(../images/red_dot.png) 1px -1px no-repeat;
  float: right;
  }

.row li.meta p.start span {
  letter-spacing: 0;
  display: block;
  }

.row.minor li.meta p.start {
  margin-bottom: 0;
  margin-top: 3px;
  background-image: url(../images/grey_dot.gif);
  background-position: 1px -2px;
  }

.row li.meta a {
  color: #909090;
  display: block;
  }

.row li.meta a:hover {
  color: #2a2a2a;
  }
 
section.daynav {
  width: 100%;
  background-image: none;
  background: #fff;
  border-top: 1px dashed #eee;
  padding: 0;
  }

.daynav a.prevday,
.daynav a.nextday,
.daynav span.viewfull {
  width: 20.5%;
  height: 80px;
  line-height: 82px;
  display: block;
  float: left;
  text-align: center;
  padding: 0 3% 0 0;
  font-size: 13px;
  color: #666;
  }

.daynav span.viewfull {
  width: 47%;
  padding: 0 3%;
  }
 
.daynav span.viewfull a {
	background: #f1f1f1;
	color: #666;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	padding: 12px 20px 11px;
	-moz-transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
	}

.daynav span.viewfull a:hover {
  color: #fff;
  background-color: #565555;
	}

.daynav a.nextday {
  padding: 0 0 0 3%;
  }
 
.daynav a:hover {
	color: #2a2a2a;
	}

#credits {
  text-align: center;
  background: #191818;
  color: #2f2f2f;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 25px;
  padding: 25px 0;
  border-top: 1px solid #252424;
  }

#credits a {
  color: #4a4a4a;
  white-space: nowrap;
  }

#credits a:hover {
  color: #777;
  }
 
.bio { font-style: italic; }


/* Home */
.home p.intro {
	margin-bottom: 20px;
	}

.home p.home_register {
	margin-bottom: 35px;
	}

.home p.home_register a.btn {
	background-color: #191818;
	margin: 0 auto;
	}

.home p.home_register a.btn:hover {
	background-color: #444;
	}

.home .row .desc_wrap {
  display: block;
  padding: 27px 0;
  background: #fff url(../images/tri_red.png) 50% 0 no-repeat;
  }

.home section#festival .desc_wrap {
  background-image: url(../images/tri_black.png);
  }

/* Practical */
section#practical {
	padding-bottom: 50px;
	}
	
#practical .row.events li {
	min-height: 250px;
	}

#practical h3 {
	text-align: center;
	margin-bottom: 50px;
	}

#practical h5 {
	text-transform: uppercase;
	font-size: 11px;
	margin: 0 0 21px;
	padding: 0;
	letter-spacing: 2px;
	color: #909090;
	line-height: 21px;
	}
	
#practical h4 {
  font-family: "kulturista-web", Georgia, Times, serif;
  color: #2a2a2a;
  font-size: 18px;
  line-height: 21px;
  margin: 0 0 5px;
	}

#practical h6 {
	color: #909090;
	font-weight: normal;
	margin: 0 0 21px -1px;
	line-height: 20px;
	}

#practical h6 a {
	background: transparent url(../images/locationretina.png) 0 40% no-repeat;
	background-size: 12px 16px;
	padding: 2px 0 2px 20px;
	font-weight: 600;
	}

#practical .row li p {
	font-size: 13px;
	line-height: 21px;
	margin: 0 0 4px;
	}

#practical .coworking {
	color:rgb(87, 87, 87);margin-bottom:85px;font-size: 17px;font-weight:400;line-height:27px;padding-top:3px;
}

#practical .practical_images {
	text-align:center;margin-bottom:80px;
}

#practical h6 a.locale_tba {
	background-image: url(../images/location-grey@2x.png);
	color: #999;
	cursor: default;
}

/* Fringe */
#fringe p.intro {
	width: 59%;
	}

a.locale {
	background: transparent url(../images/locationretina.png) 0 40% no-repeat;
	background-size: 12px 16px;
	padding: 0 0 0 18px;
	}
  

/* Responsive Videos */
.video-container, .audio_player_wrap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0;
	height: 0;
	overflow: hidden;
	margin: 0 0 25px;
	}

.audio_player_wrap {
  padding-bottom: 3px;
  }

.video-container iframe,  
.video-container object,  
.video-container embed,
.audio_player_wrap iframe,
.audio_player_wrap object,
.audio_player_wrap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}


/* Schedule
------------------------------------------------------------*/
.schedule section {
  background-image: none;
  }

#schedule.intro_section {
  padding-bottom: 0;
  }
  
.week {
	width: 100%;
	height: 751px;
	background: #fff url(../images/sched_bg.png);
	}

.headers {
  width: 100%;
  height: 14px;
  margin: 0 0 10px;
  }

.headers h6 {
  float: left;
  width: 20%;
  margin: 0 0 0 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 1px;
  color: #909090;
  line-height: 14px;
  }

.headers h6.last {
  margin-right: 0;
  }

.day {
	width: 20%;
	height: 801px;
	margin: 0;
	float: left;
	position: relative;
	}

.day_alt {
  background: rgba(0,0,0,0.04);
  }

.day a {
	display: block;
	background: #151414;
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 2px;
	right: 2px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	opacity: 0.8;
	border: 1px solid #000;
	}

.day a:hover {
  text-decoration: none;
  background-color: #ca0b25;
  border-color: #ca0b25;
  }

.day a span {
	padding: 12px 13px;
	display: block;
	line-height: 21px;
	}

.day a span strong {
	font-weight: normal;
	display: block;
	}

.day a.sched_films {
	height: 298px;
	bottom: 26px;
	}

.day a.sched_workshops_morning,
.day a.sched_practical_morning,
.day a.sched_conference_morning {
	height: 223px;
	top: 25px;
	}

.day a.sched_workshops_afternoon,
.day a.sched_conference_afternoon,
.day a.sched_practical_afternoon {
	height: 100px;
	top: 325px;
	}

.day a.sched_charles {
	height: 100px;
	top: 525px;
	}

.day a.sched_aaron {
	height: 100px;
	top: 525px;
	}

.day a.sched_beer {
  height: 143px;
  bottom: 26px;
  }

.day a.sched_openbook {
  height: 143px;
  bottom: 26px;
  }

.day a.sched_afterparty {
	height: 248px;
	bottom: 26px;
	}

.day a.sched_music {
  height: 198px;
	bottom: 26px;
	}

.day a.sched_lunch {
  top: 253px;
  height: 67px;
  }

.day a.tba {
  background: #e0e0e0;
  color: #777;
  cursor: default;
  border-color: #d0d0d0;
  }


/* Blog */
.blog h3 a {
  border: 0;
  color: #111;
  }
 
.blog h3 a:hover {
  color: #c42f37!important;
  }

.blog li.link-post h3 {
  margin-bottom: 5px;
  }

.blog li.link-post h3 a span {
  font-family: Helvetica, sans-serif!important;
  color: #c42f37;
  }

.blog li.text-post p strong {
  color: #2a2a2a;
  }

.blog header {
  background: #c42f37 url(../images/blog-header-pattern.gif) 50% 100% repeat-x;
  padding: 20px 0 60px;
  }

.blog h1#logo {
  position: relative;
  height: 113px;
  }
  
.blog header #logo a {
  background-color: transparent!important;
  background-position: -1px 32px!important;
  background-image: url(../images/logo_retina.png)!important;
  background-repeat: no-repeat!important;
  background-size: 52px 52px!important;
  }

.blog header .wrap {
  position: relative;
  }

.blog header a#tagline {
  position: absolute;
  left: 113px;
  top: 35px;
  border-left: 1px solid #C61F36;
  padding: 5px 24px 4px 25px;
  color: #fff;
  font-size: 29px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  -webkit-transition: background 0.2s;
  }

.blog header a#tagline:hover {
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  }

.blog section {
  border: 0;
  background: none;
  }
  
.blog .wrap {
  max-width: 856px;
  margin: 0 auto;
  padding: 0 40px;
  }

.blog .article-set {
  float: left;
  width: 63%;
  margin-right: 6%;
  }

.blog aside {
  float: right;
  width: 28%;
  margin-left: 3%;
  }

.blog aside p,
.blog aside li {
  font-size: 12px;
  line-height: 18px;
  color: #909090;
  }

.blog aside p {
  margin-bottom: 10px;
  }
  
.blog aside a {
  border: 0;
  }

.blog aside form input {
  font-family: "proxima-nova", 'Helvetica Neue', Arial, sans-serif;
  box-sizing: border-box;
  width: 100%;
  display: inline-block;
  height: 26px;
  padding: 4px;
  margin-bottom: 0;
  font-size: 13px;
  line-height: 18px;
  color: #555;
  background-color: #fff;
  border: 1px solid #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
  -o-transition: border linear 0.2s, box-shadow linear 0.2s;
  transition: border linear 0.2s, box-shadow linear 0.2s;
  }

.blog aside form input:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted 9;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  }

.blog aside .fb-like {
  float: left;
  margin-top: 5px;
  margin-right: 10px;
  margin-bottom: 25px;
  }

.blog aside .fb-desc {
  padding-top: 2px;
  }
 
.blog aside ol {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
 
.blog aside ol li a:hover {
	text-decoration: none;
	color: #222;
}

.blog aside ul.tweet_list {
  list-style: none;
  padding: 0;
  margin: 0;
  }

.blog aside ul.tweet_list li {
  margin: 0;
  padding: 0;
  }

.blog aside .tweet_time {
  display: block;
  margin: 0 0 15px;
  }
  
.blog aside .tweet_time a {
  border: none;
  color: #aaa;
  }

.blog aside .tweet_time a:hover {
  color: #c42f37;
  }

.row li.blog-post {
  width: 100%;
  margin: 0;
  }

.blog article {
  border-top: 1px solid #e5e5e5;
  padding: 75px 0 50px;
  }

.blog article:first-child {
  border-top: 0;
  padding-top: 0;
  }

.blog article img {
  display: block;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 25px;
  text-align: center;
  height: auto;
  }

.blog article p,
.blog article li,
.blog article blockquote,
.blog .page-nav {
  font-size: 15px;
  line-height: 25px;
  margin-bottom: 25px;
  }

.blog article li {
  margin-bottom: 0;
  }

.blog .page-nav {
  margin-bottom: 125px;
  }

.blog .page-nav span {
  color: #ccc;
  }

ol.notes {
  list-style: none;
  margin: 50px 0 0;
  padding: 0;
  border-top: 1px solid #e5e5e5;
  }

ol.notes li {
  border-bottom: 1px solid #e5e5e5;
  font-size: 12px;
  padding: 5px 0;
  margin: 0;
  }

ol.notes li img {
  margin: 0 5px 0 0;
  }

ol.notes li a {
  border: 0;
  vertical-align: middle;
  display: inline-block;
  }

ol.notes li span a {
  vertical-align: baseline;
  }

ol.notes .clear {
  clear: both;
  }

/* Buttons */
.btn,
input.btn {
  background: #c42f37;
  color: #fff !important;
  text-align: center;
  width: 139px;
  padding: 0 0 0 1px;
  height: 39px;
  line-height: 39px;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  display: inline-block;
  font-size: 11px;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  }

.btn:hover {
  text-decoration: none;
  color: #fff;
  background: #444;
  }
 
.btn.disabled {
	background: #f1f1f1;
	color: #ccc !important;
	cursor: default;
	}
 
/* Retina */
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	h2 {
	background-image: url(../images/nuts_white_red@2x.png) !important;
	background-size: 54px 11px !important;
	}
	
	.home section#conference h2 {
	background-image: url(../images/nuts_red@2x.png)!important;
	background-size: 54px 11px !important;
	}
	
	.home section#conference {
	background-image: url(../images/conf_bg@2x2.png)!important;
	background-size: 1500px 171px !important;
	}

	header #logo a {
  background-image: url(../images/logo-knockout@2x.png) !important;
  background-size: 238px 90px !important;
  }

  .blog header #logo a {
	background-color: transparent!important;
  background-position: -1px 32px!important;
  background-image: url(../images/logo_retina.png)!important;
  background-repeat: no-repeat!important;
	}

	.row li.meta p.start {
	background-image: url(../images/red_dot@2x.png) !important;
	background-size: 21px 21px !important;
	}

	.row.minor li.meta p.start {
	background-image: url(../images/grey_dot@2x.png)  !important;
	background-size: 21px 21px !important;
	}
	
	.pattern {
  background-image: url(../images/pattern@2x.png) !important;
  background-size: 1424px 40px !important;
  }

  .home section {
  background-image: url(../images/section_divider@2x.png) !important;
  background-size: 32px !important;
  }
 
  .home .row .desc_wrap {
  background-image:url(../images/tri_red@2x.png) !important;
  background-size: 14px 7px !important;
  }

  .home section#festival .desc_wrap {
  background-image:url(../images/tri_black@2x.png) !important;
  background-size: 14px 7px !important;
	  }
}

/* Responsive */
@media screen and (max-width: 760px) {
  .blog .wrap {
    padding: 0 60px;
    }
    
  .blog header a#tagline {
    left: 133px;
    }

  .blog .article-set, .blog aside {
    float: none;
    width: 100%;
    margin: 0;
    }
  
  .blog aside {
    border-top: 3px solid #c42f37;
    padding-top: 5%;
    }
   
   .blog aside a {
	   color: #c42f37;
   }
 
  .blog article {
    padding: 10% 0 5%;
    }
   
  .blog aside p,
  .blog aside li {
	  font-size: 13px;
	  line-height: 19px;
	  }
  
  .blog aside .tweet_time {
	  font-size: 12px;
	  }

  .blog .page-nav {
    text-align: center;
    margin-bottom: 10%;
    }
}

@media screen and (max-width: 1024px) {
	.home p.intro {
  	text-align: center;
  	color: #909090;
  	font-size: 17px;
  	line-height: 25px;
  	margin: 0 auto 48px;
  	max-width: 560px;
  	width: 100%;
  	padding: 0;
  	}
 
  .home h2 {
		font-size: 38px;
		line-height: 42px;
		text-align: center;
		padding: 0 0 25px;
		margin-bottom: 12px;
		}
	
	.home section#conference p.dateloc {
		font-size: 11px;
		padding-top: 0;
		margin-bottom: 12px;
		}
	
}

@media screen and (max-width: 720px) {
  html, body {
    height: 100%;
    }

  .mobile_only {
    display: block;
    }
  
  #mobile_nav {
    display: none;
    position: absolute;
    right: 14px;
    top: 11px;
    }
  
  .desktop_only,
  .daynav a.prevday, .daynav a.nextday,
  footer h4 {
    display: none;
    }
  
  .detail header .wrap .fix {
    padding: 0;
    }
  
  header nav {
    display: none;
    }
  
  header nav.open {
    padding: 45px 0 2px;
    display: block;
    border-bottom: 1px solid #080808;
    }
    
  header {
    min-height: 48px;
    padding: 0;
    overflow: visible;
    }
  
  header #logo {
    position: absolute;
    top: 1px;
    left: 4px;
    width: 44px;
    height: 44px;
    padding: 0;
    z-index: 200;
    }
  
  header #logo a {
    background-color: #191818;
    background-image: url(../images/logoretina.png);
    background-position: 50% 50%;
    width: 44px;
    height: 44px;
    background-size: 20px 20px;
    }
    
  .blog header #logo a {
    background-color: transparent!important;
    background-position: -1px 32px;
    background-image: url(../images/logo_retina.png);
    background-size: 45px 45px;
    height: 90px;
    width: 47px;
  }
  
  header #logo a:hover {
    background-color: #191818;
    }
  
  header nav,
  header ul,
  header ul.top {
    margin: 0;
    padding: 0;
    width: 100%;
    }
  
  header li {
    margin: 0;
    width: 100%;
    padding: 0;
    z-index: 300;
    }
  
  header li a {
    margin: 0 10px;
    padding: 8px 0 8px 10px;
    border-top: 1px solid #272727;
    }
  
  header li a span {
    -webkit-transition: none;
    transition: none;
    }
  
  header a.nav-button {
    position: absolute;
    top: 2px;
    right: 4px;
    display: block;
    width: 44px;
    height: 34px;
    vertical-align: middle;
    padding: 14px 0 0;
    margin: 0;
    z-index: 200;
    }
  
  .icon-bar {
    display: block;
    width: 18px;
    height: 3px;
    background-color: #f5f5f5;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    margin: 0 auto 3px;
    }
  
  .pattern {
    position: relative!important;
    top: auto!important;
    height: 18px;
    background-size: 854px 24px;
    background-color: #fff;
    }
  
  .home .pattern {
	  background-color: #e41f3a;
  	}
  
  footer {
	  padding: 25px 0 0;
  	}
  
  footer .row {
	  padding: 0;
	  margin: 0;
 	  }
    
  footer .row li {
	  width: 50%!important;
	  margin: 0 0 25px!important;
	  padding: 0!important;
  	}
  
  footer h3 {
	  font-size: 14px;
	  margin: 0;
  	}
  
  footer h3 a {
	  background-size: 36px 36px;
	  padding-bottom: 45px;
  	}
  
  #credits {
	  padding: 12.5px 0;
  	}
  
  section {
    padding: 30px 0;
    }
 
  section.intro_section {
    padding: 40px 0 45px;
    border: none;
    }
  
  .timeline section.first {
    padding-top: 0;
    }
  
  .timeline section.first .row {
    padding-top: 60px;
    }
  
  .timeline section.first .row > li.meta.first p.start {
    margin-top: 31px;
    }
   
  .timeline section.first .row > li.topic {
	  margin-top: 0;
  	}
  
  section.location {
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
    background-image: url(../images/locationretina.png);
    background-repeat: no-repeat;
    background-size: 12px 16px;
    background-position: 4.5% 50%;
    padding: 0;
    margin: 0;
    }
  
  section.location a:hover {
  	background-color: #f4f4f4;
  	background-position: 96% 50%;
  	}
  
  section.location.nolink {
	  background: none;
	  display: none;
  	}
  
  section.location.nolink p {
	  cursor: default;
  	}
  
  section.location p,
  section.location a {
    width: 87%;
    padding: 0 3% 0 10%;
    font-size: 13px;
    height: 48px;
    line-height: 48px;
    border-radius: 0;
    }
  
  section.location a,
  section.location a:hover {
    background: transparent url(../images/bulletretina.png) 96% 50% no-repeat;
    background-size: 10px 16px;
    color: #2a2a2a;
    text-align: left;
    font-weight: bold;
    }
      
  p.intro,
  .home p.intro {
    width: 94%;
    padding-left: 3%;
    padding-right: 3%;
    text-align: center;
    font-size: 18px;
    line-height: 26px;
    padding-top: 0;
    font-weight: 400;
    }

	h2,
	.home h2,
	.home section#conference h2 {
		font-size: 30px;
		text-align: center;
		width: 100%;
		margin: 0 0 13px;
		padding: 0 0 17px;
	}
  
  #fringe p.intro {
	  width: 92%;
  	}
  
  .fringe .timeline h3 {
	  margin-bottom: 4px;
	  padding-top: 0;
  	}
  
  .fringe .timeline section.first,
  .practical  {
	  border-top: 1px solid #eee;
  	}
	
	.home section#conference h2 {
		padding-top: 9px!important;
		padding-bottom: 22px;
		}
	
	.home section#conference p.dateloc {
		font-size: 11px;
		padding-top: 3px;
		margin-bottom: 20px;
		line-height: 18px;
		color: #fff;
		}
  
  h3 {
    padding-top: 3px;
    font-size: 24px;
    line-height: 31px;
    }

  .wrap {
    padding: 0 3%;
    }
  
  .timeline .row {
    padding: 30px 0;
    }

  h4,
  h5,
  .row li.topic p {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 20px;
    }
  
  .timeline h4 {
	  margin-bottom: 22px;
  	}
  
  h5 {
	  margin: 0;
	  padding: 0;
	  }
  
  .row li.topic div.video-container {
    padding-top: 10px;
    }
  
  .timeline .row > li.meta.first {
    width: 18%;
    margin: 0 0 0 -0.5%;
    padding: 0;
    white-space: nowrap;
    }
  
  .timeline .row > li.meta.first p.start {
    margin-top: 0;
    margin-bottom: 8px;
    background-size: 19px 19px;
    width: 44%;
    line-height: 17px;
    padding-left: 30px;
    }
  
  .timeline .row > li.meta.first p.start span {
    display: inline;
    white-space: nowrap;
    padding-left: 10px;
    }
  
  .timeline .row > li.meta.last {
    width: 76%;
    margin-right: 3%;
    margin-left: 20%;
    float: right;
    padding: 0;
    display: none;
    }
  
  .timeline .row > li.topic {
    width: 75%;
    margin-right: 3%;
    margin-left: 20%;
    float: right;
    min-height: 70px;
    }
  
  .timeline .minor.row h4 {
	  margin: -2px 0 0 75px;
  	}
  
  .timeline .minor.row li.topic.opening_address {
	  min-height: 39px;
  	}
  
  .timeline .minor.row .opening_address h4 {
	  margin: -31px 0 0 75px;
  	}
  
  .timeline section.last {
    padding-bottom: 0;
    }
    
  .daynav {
	   background: #fff;
	   border: 0!important;
	   }
   
   .daynav span.viewfull {
	   width: 100%;
	   padding: 0;
	   margin: 0;
	   float: none;
   }

  .daynav span.viewfull a,
  .daynav span.viewfull a:hover {
  	display: block;
    color: #2a2a2a;
    float: none;
    width: 94%;
    margin: 0 3%;
    padding: 0;
    font-size: 13px;
    height: 48px;
    line-height: 48px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    text-align: center;
    border: 1px solid #d8d8d8;
    border-bottom-color: #c8c8c8;
    border-width: 1px;
    background: -moz-linear-gradient(top, rgba(220,220,220,0) 0%, rgba(220,220,220,0.65) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(220,220,220,0)), color-stop(100%,rgba(220,220,220,0.65)));
    background: -webkit-linear-gradient(top, rgba(220,220,220,0) 0%,rgba(220,220,220,0.65) 100%);
    background: -o-linear-gradient(top, rgba(220,220,220,0) 0%,rgba(220,220,220,0.65) 100%);
    background: -ms-linear-gradient(top, rgba(220,220,220,0) 0%,rgba(220,220,220,0.65) 100%);
    background: linear-gradient(to bottom, rgba(220,220,220,0) 0%,rgba(220,220,220,0.65) 100%);
    }

  .schedule .headers {
    display: none;
    }
  
  .schedule .wrap {
    padding: 0;
    }
  
  .schedule section {
    padding-bottom: 0;
    }
  
  .week {
	 background: none;
	 height:auto!important;
	 margin: 0;
	 width: 100%;
	 padding: 0;
	 }
	
	.day {
	 width: 100%;
	 height: auto!important;
	 background: none;
	 float: none;
	 position: relative;
	 border-bottom: 1px solid #d8d8d8;
	}
	
	.day a, .day a.tba {
	 position: relative!important;
	 left: auto!important;
	 right: auto!important;
	 top: auto!important;
	 bottom: auto!important;
	 background: #fff url(../images/bulletretina.png) 96% 50% no-repeat;
	 background-size: 10px 16px;
	 color: #191818;
	 width: auto!important;
	 height: 40px!important;
	 overflow: hidden;
	 border: 0;
	 border-top: 1px solid #d8d8d8;
	 -moz-border-radius: 0;
	 -webkit-border-radius: 0;
	 border-radius: 0;
	 padding: 8px 32px 0 13px;
	 line-height: 12px;
	 font-weight: bold;
	 font-size: 13px;
	 opacity: 1;
	}
	
	.day a.tba {
	 color: #909090!important;
	}
	
	.day a span strong {
	 color: #909090;
	 display: block;
	 float: none;
	 padding: 0;
	 font-weight: normal;
	 font-size: 11px;
	}
	
	.day a span {
	 padding: 0;
	 display: inline;
	 line-height: 15px;
	}
	
	.day a:hover,
	.day a:hover span strong {
	 background-color: #fafafa;
	 border-color: #d8d8d8;
	 }

	.day a:active, .day a:active span strong {
	 color: #fff!important;
	 background-color: #c42f37;
	 border-color: #c42f37;
	}
	
	.day.last {
	 border-bottom: 0;
	 }
	
	.day h6 {
   background: #eee;
	 text-transform: uppercase;
	 letter-spacing: 1px;
	 font-weight: bold;
	 height: 23px;
	 line-height: 23px;
	 color: #575757;
	 padding: 1px 13px 0;
	 font-size: 11px;
	 margin: 0;
	 text-shadow: 0 1px 0 #fff;
	 }
	
	.day h6.first {
	 border-top: 1px solid #d8d8d8;
	 }
	
	#practical ul.row li {
		width: 92%;
		padding: 25px 4%;
		margin: 0 0 0;
		min-height: 0!important;
		float: none;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		}
	
	#practical ul.events li.alt {
		background: #f4f4f4;
		}
	
	#practical ul.row li h4,
	#practical ul.row li h5,
	#practical ul.row li h6 {
		text-align: center;
		}
	
	#practical h3 {
		margin-bottom: 25px;
		}
	
	#practical p.coworking {
		margin-bottom: 25px;
		font-size: 13px;
		line-height: 21px;
		text-align: left;
	}

	#practical .row.practical_images {
		display: none;
	}
	
}


@media screen and (max-width: 500px) {

  p.intro,
  .home p.intro {
    font-size: 15px;
    line-height: 21px;
    }
    
  /* Blog */
  .blog .wrap {
    padding: 0 25px!important;
    }
  
  .blog header {
    padding: 0 0 37px;
    }
  
  .blog section {
    padding: 37.5px 0;
    }

  .blog h3 {
    font-size: 21px;
    }

  .blog article img,
  .video-container {
    margin-bottom: 5%;
    }

  .blog article p,
  .blog article li,
  .blog article blockquote,
  .blog article h4 {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 5%;
    }
  
  .blog article li {
    margin-bottom: 0;
    }
    
   .blog header a#tagline {
    padding: 5px 19px 4px 20px;
    left: 93px;
   }
}

@media screen and (max-width: 320px) {
  .row li.topic p,
  .row li.topic div.video-container,
  .row li.topic h5 {
    margin-left: -20px;
    }

  section.location {
    background-position: 9.75% 50%;
    }
  
  section.location p,
  section.location a {
    width: 80%;
    padding: 0 3% 0 17%;
    }

}

