/* GLOBAL CLASSES
============================================================================================================================ */
/* Easy clearing of floats
 * See http://positioniseverything.net/easyclearing.html
-------------------------------------------------------------- */
.cf:after {
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:' ';
	font-size:0;
}


/* Structural elements
 * Not visible when CSS is enabled but visible for screen readers
-------------------------------------------------------------- */
.structural,
.structural * {
	position:absolute;
	left:-9999px;
}


/* Hidden elements
 * Hidden even for screen readers
-------------------------------------------------------------- */
.hidden {
	display:none;
	visibility:hidden;
}


/* Zebra background.
-------------------------------------------------------------- */
tr.odd {
	background:#f0e9eb;
}


/* Images
-------------------------------------------------------------- */
/* Alignment */
img.alignleft {
	float:left;
	margin:0 20px 18px 0;
}
img.alignright {
	float: right;
	margin-left:20px;
}
img.aligncenter {
	clear: both;
	display: block;
	margin:0 auto;
}

@media screen and (max-width:400px) {
	img.alignleft,
	img.alignright {
		max-width: 50%;
	}
}



/* Article
-------------------------------------------------------------- */
.intro {
	margin:18px 0;
	color:#373737;
	font-family:TrixieWebPro-Heavy, monospace;
	font-size:20px;
	letter-spacing:-1px;
}

/* MAIN LAYOUT
===================================*/
#body {
	position:relative;
	width:100%;
	max-width:780px;
	margin:0 auto 100px;
	padding:0 10px;
}

#main {
	position:relative;
	z-index:2000;
}

@media screen and (max-width:800px) {
	#body {
		width:auto;
		margin:0;
		overflow:hidden;
	}
}



/* HEADER
===================================*/
#header {
	position:relative;
	z-index:3000;
}
.logo {
	left:-40px;
	margin:18px 0 -21px;
	position:relative;
}
.logo > a {
	display:inline-block;
	border-bottom: none;
}
.logo > a > img {
	display: block;
}

@media screen and (max-width:870px) {
	.logo {
		left:0;
		margin:18px 0 0 20px;
	}
}

@media screen and (max-width:400px) {
	.logo {
		margin:10px 0;
		text-align:center;
	}

	.logo > a > img {
		width: 100%;
		max-width: 150px;
		height: auto;
	}
}


/* Main navigation
-----------------------------------*/
#nav-main {
	position:relative;
	background:#000;
	font-family:TrixieWebPro-Heavy;
	font-size:15px;
	line-height:36px;
}
#nav-main ul {
	margin:0;
	list-style:none;
}
#nav-main li {
	float:left;
	margin:0;
	padding:0;
}
#nav-main a {
	display:block;
	position:relative;
	margin:0 0 0 20px;
	color:#ddd;
	border-bottom: none;
	text-decoration:none;
	-webkit-transition:color 167ms ease-in-out;
	        transition:color 167ms ease-in-out;
}
#nav-main a:hover {
	color:#fff;
	text-shadow:none;
	text-decoration:underline;
}
#nav-main .current-menu-item a,
#nav-main .current-page-ancestor a {
	color:#fff;
}
#nav-main .current-menu-item a:after,
#nav-main .current-page-ancestor a:after {
	content:'';
	display:block;
	position:absolute;
	top:100%;
	left:50%;
	width:9px;
	height:5px;
	margin-left:-5px;
	background:url(../i/nav-main-sel.png);
}
#nav-main .current-menu-item a:active:after,
#nav-main .current-page-ancestor a:active:after {
	margin-top:-1px;
}

@media screen and (max-width:800px) {
	#nav-main .menu-toggler {
		position: absolute;
		top: 3px;
		right: 3px;
		z-index: 10;
		background: -webkit-linear-gradient(top,       #777, #444);
		background:         linear-gradient(to bottom, #777, #444);
		box-shadow: 0 4px 0 #333;
		text-shadow:0 -1px 0 #333;
		line-height: 24px;
	}

	#nav-main .menu-toggler:before {
		display: inline-block;
		width: 17px;
		height: 15px;
		margin: 0 5px 0 0;
		background: url('../i/burger.png');
		background-size: 17px 15px;
		vertical-align: -2px;
		content: "";
	}

	#nav-main li {
		float:none;
		display:none;
		padding-right: 70px;
	}

	#nav-main.is-expanded li {
		display: block;
	}

	#nav-main .current-menu-item,
	#nav-main .current-page-ancestor {
		display:block;
	}

	#nav-main .current-menu-item a:after,
	#nav-main .current-page-ancestor a:after {
		content:none;
	}
}


/* SUB NAVIGATION
===================================*/
#nav-sub {
	background:#222;
}
#nav-sub > h2 {
	font-family:Helvetica;
}
#nav-sub ul {
	margin:0;
	list-style:none;
}
#nav-sub li {
	display:none;
}
#nav-sub .current_page_ancestor,
#nav-sub .current_page_ancestor li,
#nav-sub .current_page_item,
#nav-sub .current_page_item li {
	display:block;
}
#nav-sub a {
	display:block;
	padding:6px 10px 6px 20px;
	color:#ddd;
	border-bottom: none;
	text-decoration:none;
	font-family:'TrixieWebPro-Heavy';
}
#nav-sub .current_page_item > a {
	color:#fff;
	background:#000 url(../i/nav-sub-sel.png) no-repeat 0 50%;
	font-weight:bold;
}
#nav-sub .current_page_ancestor > a {
	font-weight:bold;
}
#nav-sub li li a {
	padding-left:40px;
}


/* FOOTER
===================================*/
#footer {
	display:table;
	width:100%;
	margin-top:60px;
	padding-top:18px;
	border-top:6px solid #000;
	font-family:TrixieWebPro-Heavy;
	font-size:15px;
}
#footer > div {
	display:table-cell;
	width:33%;
}
#footer strong {
	font-weight:normal;
}

@media screen and (max-width:600px) {
	/* Footer */
	#footer > div {
		display:block;
		width:auto;
		padding:10px;
	}
}



/* LINKS
===================================*/
/* Read more */
.read-more {
	display:inline-block;
	padding:0 10px 3px;
	color:#fff !important;
	background:#000;
	font-family:TrixieWebPro-Heavy;
	font-size:16px;
	border-bottom: none;
	text-decoration:none;

	-webkit-transform: rotate(-1.63deg);
	    -ms-transform: rotate(-1.63deg);
	        transform: rotate(-1.63deg);
}
.read-more:after {
	content:url(../i/dbl-arr-right.png);
	margin-left:5px;
}
.read-more.mini {
	padding:0 5px 2px;
	line-height:20px;
}

/* Further down */
.further-down {
	display:inline-block;
	padding:0 10px 3px;
	color:#fff;
	border-bottom: none;
	background:#000;
	font-family:TrixieWebPro-Heavy;
	font-size:16px;
	text-decoration:none;

	-webkit-transform: rotate(-1.63deg);
	    -ms-transform: rotate(-1.63deg);
	        transform: rotate(-1.63deg);
}
.further-down:after {
	content:url(../i/dbl-arr-down.png);
	margin-left:5px;
}
/* More dates */
.more-dates {
	display:inline-block;
	padding:0 10px 3px;
	color:#fff;
	border-bottom: none;
	background:#000;
	font-family:TrixieWebPro-Heavy;
	font-size:16px;
	text-decoration:none;

	-webkit-transform: rotate(-1.63deg);
	    -ms-transform: rotate(-1.63deg);
	        transform: rotate(-1.63deg);
}
.more-dates:after {
	content:url(../i/dbl-arr-down.png);
	margin-left:5px;
}
/* Back */
.back {
	display:inline-block;
	padding:0 10px 3px;
	color:#fff;
	border-bottom: none;
	background:#000;
	font-family:TrixieWebPro-Heavy;
	font-size:16px;
	text-decoration:none;

	-webkit-transform: rotate(1.4deg);
	    -ms-transform: rotate(1.4deg);
	        transform: rotate(1.4deg);
}
.back:before {
	content:url(../i/dbl-arr-left.png);
	margin-right:5px;
}
/* Forward */
.forward {
	display:inline-block;
	padding:0 10px 3px;
	color:#fff;
	border-bottom: none;
	background:#000;
	font-family:TrixieWebPro-Heavy;
	font-size:16px;
	text-decoration:none;

	-webkit-transform: rotate(-1.1deg);
	    -ms-transform: rotate(-1.1deg);
	        transform: rotate(-1.1deg);
}
.forward:after {
	content:url(../i/dbl-arr-right.png);
	margin-left:5px;
}

/* Button */
.btn {
	display:inline-block;
	position:relative;
	top:-3px;
	padding:0 5px;

	box-shadow:0 4px 0 #000, 0 4px 6px #666;
	border-radius:4px;
	border:0;

	color:#fff;
	background:#333;
	background:-webkit-linear-gradient(top, #444, #292929);
	background:        linear-gradient(top, #444, #292929);

	font-family:TrixieWebPro-Heavy;
	font-size:16px;
	text-decoration:none;
	letter-spacing:-1.5px;

	cursor:pointer;

	-webkit-transition:background 60ms ease-in-out, box-shadow 60ms ease-in-out;
	        transition:background 60ms ease-in-out, box-shadow 60ms ease-in-out;
}
.btn:hover,
.btn:focus {
	box-shadow:0 4px 0 #000, 0 4px 6px #000;
	background:#d00;
	background:-webkit-linear-gradient(top, #494949, #333);
	background:        linear-gradient(top, #494949, #333);
	-webkit-transition:none;
	transition:        none;
}
.btn:active {
	top:0;
	box-shadow:0 1px 0 #000;
}
.btn.mini {
	padding:2px 10px;
	font-size:12px;
	line-height:16px;
	white-space:nowrap;
}
/* Ticket buttons */
.tickets {
	text-transform: none;
}
.read-more + .tickets {
	margin-left: 20px;
}

/* HEADERS
===================================*/
header.pronounced {
	margin:30px 0 18px;
}
header.pronounced > h2 {
	display:inline-block;
	position:relative;
	left:-20px;
	padding:0 10px;
	color:#fff;
	background:#000;
	font-weight:normal;
	font-size:20px;
	font-family:TrixieWebPro-Heavy, monospace;
	line-height:36px;

	-webkit-transform: rotate(-1.63deg);
	    -ms-transform: rotate(-1.63deg);
	        transform: rotate(-1.63deg);
}

@media screen and (max-width: 870px) {
	header.pronounced > h2 {
		left:3px;
	}
}


/* SLIDESHOW
===================================*/

/* 1. Use padding to get fixed aspect ratio. */
.slideshow {
	position:relative;
	z-index:500;
	overflow:hidden;
	margin:-24px 0 24px;
	padding-top:31.54%; /* [1] */
	list-style:none;
}
.slideshow > li {
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:500;
	opacity:0;
	-webkit-transition:opacity 3500ms ease-in-out;
	        transition:opacity 3500ms ease-in-out;
}
.slideshow img {
	display:block;
	width:100%;
	height:auto;
}
.slideshow > li.active {
	z-index:1000;
	opacity:1;
}
.slideshow > li.first {
	z-index:1000;
	opacity:1;
	-webkit-transition:none;
	        transition:none;
}



/* EVENT DATES
===================================*/
.event-dates {
	margin:0 0 18px;
}
.event-dates > table {
	width:auto;
	border:0;
}
.event-dates > table > thead {
	display:none;
}
.event-dates td {
	padding:3px 0;
	border:0;
}
.event-dates td.date,
.event-dates td.time {
	padding-right:10px;
}
.event-dates .past,
.event-dates .sold-out,
.event-dates .canceled {
	color:#818181;
}
.event-dates .past td.date,
.event-dates .past td.time,
.event-dates .sold-out td.date,
.event-dates .sold-out td.time,
.event-dates .canceled td.date,
.event-dates .canceled td.time {
	text-decoration:line-through;
}
.event-dates td.status {
	text-transform:uppercase;
}



/* PAGE LAYOUT
===================================*/
#content {
	margin-top:24px;
}

/* HOME
===================================*/
body.page.home .content-1 {
	float:none;
	width:auto;
	margin-bottom:16px;
}
body.page.home .content-2 {
	float:left;
	width:58.9744%;
}
body.page.home .content-3 {
	float:right;
	width:38.4615%;
}

@media screen and (max-width:700px) {
	/* Home page */
	body.page.home .content-2 {
		float:none;
		width:auto;
		padding:10px;
	}
	body.page.home .content-3 {
		float:none;
		width:auto;
		padding:10px;
	}
}

@media screen and (max-width:500px) {
	body.page.home .content-1 {
		margin-bottom:16px;
	}
	body.page.home .content-2 {
		float:none;
		width:auto;
	}
	body.page.home .content-3 {
		float:none;
		width:auto;
	}
}

body.page.home .content-3 section + section {
	margin-top: 36px;
}
header .category,
body.page.home .content-3 h1 {
	margin:0;
	color:#808080;
	font-size:18px;
	line-height:18px;
	letter-spacing:0;
}
/* Shows and events */
article.event h2 {
	margin:6px 0 14px;
	font-size:30px;
	line-height:30px;
	letter-spacing:-2px;
}
article.event h2 > a:hover {
	color:#c00;
}
article.event {
	margin:0 0 39px;
}
article.event > footer {
	font-size:0;
}
article.event > footer > a {
	margin:10px 15px 0 0;
}

/* News */
section.news > footer {
	margin-top:24px;
}
article.news + article.news {
	margin-top:18px;
}
article.news h2 {
	margin:0;
	font-size:24px;
	line-height:30px;
	letter-spacing:-2px;
}
article.news h2 > a:hover {
	color:#c00;
}
article.news time {
	color:#4d4d4d;
	font-size:12px;
}
article.news p {
	margin:0;
}

@media screen and (max-width: 400px) {
	article.news + article.news {
		margin-top: 36px;
	}
}


/* Poster */
body.page.home .poster {
	position:relative;
	margin:0 0 42px;
}
body.page.home .poster > a {
	display: block;
}
body.page.home .poster > a > img {
	display:block;
	max-width: 100%;
	height: auto;
	padding:5px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);

	-webkit-transition:-webkit-box-shadow 167ms ease-in-out;
	        transition:box-shadow 167ms ease-in-out;
	background:#fff;
}
body.page.home .poster > a:hover > img {
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
}
body.page.home .poster > .read-more {
	position:absolute;
	bottom:-24px;
	right:-5px;
}

/* Newsletter form */
.sml_subscribe p {
	display:inline;
}
.sml_subscribe .sml_thankyou {
	display:block;
	margin:0;
	font-weight:bold;
}
.sml_subscribe .sml_thankyou ~ p {
	display:none;
}





/* SHOW
===================================*/
body.single-show .content-2 {
	float:right;
	width:58.9743%;
}
body.single-show .content-3 {
	float:left;
	width:38.4615%;
}

@media screen and (max-width: 700px) {
	body.single-show .content-2,
	body.single-show .content-3 {
		float: none;
		clear: both;
		width: auto;
	}

	body.single-show .content-3 {
		margin-top: 30px;
	}
}

/* Slideshow */
body.single-show .slideshow + a.further-down {
	float:right;
	position:relative;
	z-index:1000;
	margin:-42px 10px 0 0;
}
/* Press quotes */
.quotes > ul {
	margin:0;
}
.quote {
	margin:0;
	list-style:none;
}
.quote + .quote {
	margin-top:12px;
}
.quote > blockquote {
	display:inline;
	margin:0;
}
.quote > footer {
	display:inline;
}
.quote > footer:before {
	content:' – ';
	white-space:pre;
}

/* Poster */
body.single-show .poster {
	position: relative;
	margin:0 0 36px;
}
body.single-show .poster img {
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
	display:block;
	max-width: 100%;
	height: auto;
	padding:5px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
	background:#fff;
}

@media screen and (max-width: 700px) {
	body.single-show .poster {
		float: right;
		max-width: 40%;
		margin:0 0 20px 10px;
	}
}


/* Sidebar */
body.single-show aside {
	font-size:14px;
}
body.single-show aside h2 {
	margin:0 0 6px;
	font-size:20px;
	letter-spacing:-1px;
}
body.single-show aside p {
	margin:0 0 6px;
}

/* Credits */
body.single-show .credits {
	margin-top:18px;
}
body.single-show .credits > ol {
	list-style:none;
	margin:0;
}
body.single-show .credits > ol > li {
	margin:0 0 6px;
}



/* EVENT
===================================*/
body.single-event .content-2 {
	float:right;
	width:58.9744%;
}
body.single-event .content-3 {
	float:left;
	width:38.4615%;
}
/* Sidebar */
body.single-event aside {
	font-size:14px;
}
body.single-event aside h2 {
	margin:0 0 6px;
	font-size:20px;
	letter-spacing:-1px;
}
body.single-event aside p {
	margin:0 0 6px;
}

@media screen and (max-width: 700px) {
	body.single-event .content-2,
	body.single-event .content-3 {
		float: none;
		clear: both;
		width: auto;
	}

	body.single-event .content-3 {
		margin-top: 30px;
	}
}




/* PAGE
===================================*/
body.page .content-1 {
	float:left;
	width:28.2051%;
}
body.page .content-2 {
	float:right;
	width:69.2308%;
}

@media screen and (max-width:700px) {
	body.page .content-1 {
		float:none;
		width:auto;
		margin-bottom: 24px;
	}

	body.page .content-2 {
		float:none;
		width:auto;
	}
}


/* TICKETS
===================================*/
body.page-template-tickets .content-1 {
	float: none;
	width: 100%;
}


/* POST ARCHIVE
===================================*/
body.archive .content-1 {
	float:left;
	width:69.2308%;
}
body.archive .content-2 {
	float:right;
	width:28.2051%;
}

@media screen and (max-width: 700px) {
	body.archive .content-1,
	body.archive .content-2 {
		float:none;
		width:auto;
	}
}


/* SINGLE POST
===================================*/
body.single-post .content-1 {
	float:left;
	width:69.2308%;
}
body.single-post .content-2 {
	float:right;
	width:28.2051%;
}

@media screen and (max-width: 700px) {
	body.single-post .content-1,
	body.single-post .content-2 {
		float:none;
		width:auto;
	}
}



/* SHOW ARCHIVE
===================================*/
section.year {
	margin:30px 0 0;
}
section.year > h2 {
	float:left;
	padding:4px 10px;
	color:#fff;
	background:#000;
}
section.year > h2 + article {
	clear:both;
}
article.show {
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
	float:left;
	width:50%;
	padding:0 0 36px 20px;
	font-size:14px;
}
article.show:nth-child(2n) {
	clear:left;
	padding:0 20px 36px 0;
}
article.show > a {
	color:#000;
	border-bottom: none;
	text-decoration:none;
	float:left;
	padding:5px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);

	-webkit-transition:box-shadow 167ms ease-in-out;
	        transition:box-shadow 167ms ease-in-out;
	background:#fff;
}
article.show > a:hover,
article.show > a:focus,
article.show > a:active {
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
}
article.show img {
	display: block;
}
article.show > .excerpt {
	margin:0 0 0 120px;
}
/* Featured */
article.show.featured {
	float:none;
	width:auto;
	font-size:16px;
}
article.show.featured > a > h3 {
	margin-left:180px;
	font-size:22px;
}
article.show.featured > .excerpt {
	margin-left:180px;
}

@media screen and (max-width: 650px) {
	article.show:nth-child(n) {
		float: none;
		width: auto;
		padding-left: 0;
	}

	article.show:not(.featured) img {
		width: 75px;
		height: auto;
	}

	article.show > .excerpt {
		margin:0 0 0 100px;
	}
}

@media screen and (max-width: 470px) {
	article.show.featured img {
		width: 75px;
		height: auto;
	}

	article.show.featured > .excerpt {
		margin:0 0 0 100px;
	}
}




/* TICKETS
===================================*/
.all-tickets:not(:first-child) {
	margin-top: 48px;
}
.all-tickets > h2 {
	margin:30px 0 12px;
	color:#808080;
	font-size:18px;
	line-height:24px;
	letter-spacing:0;
}
.all-tickets > h3 {
	margin:0 0 6px;
	font-size:18px;
	line-height:24px;
	letter-spacing:-2px;
}
.all-tickets > h3 > a:hover,
.all-tickets > h3 > a:focus {
	color:#c00;
}
.all-tickets table {
	margin:0 0 30px;
}
.all-tickets thead {
	position:absolute;
	left:-9999px;
	top:-9999px;
}

.tickets-table th {
	border-top: 0;
}
@media (max-width: 500px) {
	.tickets-table__row--large {
		display: none;
	}
}
@media (min-width: 501px) {
	.tickets-table__row--compact {
		display: none;
	}
}
.tickets-table__row--large .tickets-table__date,
.tickets-table__row--large .tickets-table__time {
	width: 7em;
}
.tickets-table__row--large .tickets-table__status {
	text-align: right;
}
.tickets-table__row--compact .tickets-table__status {
	width: 20%;
	text-align: right;
}


/* CALENDAR
===================================*/
.calendar-navigation {
	margin:12px 0;
}
.calendar-navigation > .forward {
	float:right;
}

.calendar td.date {
	width:60px;
	border-right:1px solid #eee;
	white-space:nowrap;
}
tr.no-events {
	color:#ddd;
}
tr.mon > td {
	border-top-color:#ccc;
}
time > .monthday {
	font-family:TrixieWebPro-Heavy;
	font-size:32px;
}

@media screen and (max-width:780px) {
	/* Calendar */
	body.page-template-calendar-php #content > article,
	.calendar-navigation {
		padding:10px;
	}
	.calendar td.date {
		width:auto;
	}
	time > .monthday {
		display:block;
		font-family:inherit;
		font-size:14px;
	}
}


/* GALLERY
===================================*/
.image-browser {
	overflow:hidden;
	width:100%;
}
.image-browser img {
	display: block;
	width: 100%;
	height: auto;
}
.image-browser a.download-image {
	float:right;
	margin:0 0 5px 5px;
}
ul.gallery {
	list-style:none;
	margin:0 -10px;
}
ul.gallery:after {
	content: "";
	display: table;
	clear: both;
}
.gallery > li {
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
	float:left;
	width:33.3333%;
}
.gallery > li:nth-of-type(3n+4) {
	clear:left;
}
.gallery figure {
	padding: 10px;
	font-size:12px;
	line-height:18px;
}
.gallery img {
	-webkit-box-sizing:border-box;
	   -moz-box-sizing:border-box;
	        box-sizing:border-box;
	display: block;
	width: 100%;
	height: auto;
	margin:0 0 5px;
	padding:4px;
	border:1px solid #eee;
	background:#fff;
}
.gallery figcaption {
	margin: 0 5px;
}
.gallery figure.selected img {
	border-color:#000;
	background:#000;
}
.photographer {
	display:block;
	font-weight:bold;
}
.photographer > .name {
	font-weight:normal;
}

@media screen and (max-width: 400px) {
	ul.gallery {
		margin: 0 -5px;
	}
	.gallery figure {
		padding: 5px;
	}
	.gallery img {
		margin:0;
	}
	.gallery figcaption {
		display: none;
	}
}

.page-content {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.page-content__left {
	width: 25%;
	flex-grow: 0;
	flex-shrink: 0;
	padding-right: 20px;
}

.page-content__main {
	width: 50%;
	flex-grow: 1;
}

.page-content__right {
	width: 25%;
	padding-left: 20px;
}

@media screen and (max-width: 800px) {
	.page-content {
		flex-wrap: wrap;
	}

	.page-content__right {
		width: 100%;
		flex-grow: 0;
	}

	.page-content__left ~ .page-content__right {
		width: 75%;
		margin-left: 25%;
	}
}

@media screen and (max-width: 600px) {
	.page-content__left,
	.page-content__main,
	.page-content__right {
		width: 100%;
	}

	.page-content__left {
		margin-bottom: 24px;
	}
}

.link-with-icon {
	display: inline-flex;
	align-items: center;
	border: none;
}

.link-with-icon__icon {
	flex: 0 0 auto;
	margin-right: 10px;
}